X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=t%2Fdb_helper%2Fattr_duration.t;h=0b023b66d707d064e038741e2de501dd94fdb7a3;hb=afd5395bfad1a84a590d567f8cb2d4e4967b16e3;hp=efc2d54025347431801be490540f865118d48fdb;hpb=361ae413fde536acf3088c545579ec78f1c7ee52;p=kivitendo-erp.git diff --git a/t/db_helper/attr_duration.t b/t/db_helper/attr_duration.t index efc2d5402..0b023b66d 100644 --- a/t/db_helper/attr_duration.t +++ b/t/db_helper/attr_duration.t @@ -7,17 +7,18 @@ __PACKAGE__->meta->setup( columns => [ dummy => { type => 'numeric', precision => 2, scale => 12 }, inty => { type => 'integer' }, + miny => { type => 'integer' }, ] ); use SL::DB::Helper::AttrDuration; __PACKAGE__->attr_duration('dummy'); -__PACKAGE__->attr_duration_minutes('inty'); +__PACKAGE__->attr_duration_minutes('inty', 'miny'); package main; -use Test::More tests => 120; +use Test::More tests => 130; use Test::Exception; use strict; @@ -218,6 +219,22 @@ is($item->inty_as_minutes, 1, 'write as_duration_string 03:1 read a is($item->inty_as_hours, 3, 'write as_duration_string 03:1 read as_hours'); is($item->inty_as_duration_string, "3:01", 'write as_duration_string 03:1 read as_duration_string'); +local %::myconfig = (numberformat => "1.000,00"); + +$item = new_item(miny_in_hours => 2.5); +is($item->miny, 150, 'write in_hours 2.5 read raw'); +is($item->miny_as_minutes, 30, 'write in_hours 2.5 read as_minutes'); +is($item->miny_as_hours, 2, 'write in_hours 2.5 read as_hours'); +is($item->miny_in_hours, 2.5, 'write in_hours 2.5 read in_hours'); +is($item->miny_in_hours_as_number, '2,50', 'write in_hours 2.5 read in_hours_as_number'); + +$item = new_item(miny_in_hours_as_number => '4,25'); +is($item->miny, 255, 'write in_hours_as_number 4,25 read raw'); +is($item->miny_as_minutes, 15, 'write in_hours_as_number 4,25 read as_minutes'); +is($item->miny_as_hours, 4, 'write in_hours_as_number 4,25 read as_hours'); +is($item->miny_in_hours, 4.25, 'write in_hours_as_number 4,25 read in_hours'); +is($item->miny_in_hours_as_number, '4,25', 'write in_hours_as_number 4,25 read in_hours_as_number'); + # Parametervalidierung throws_ok { new_item()->inty_as_duration_string('invalid') } qr/invalid.*format/i, 'invalid duration format';