X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=t%2Fdb_helper%2Fattr_duration.t;h=0b023b66d707d064e038741e2de501dd94fdb7a3;hb=350fba592256b332e51ba09c5f65bada3836784d;hp=0f41cfa037b1e4e0f12618bb83c68ffdc15c651d;hpb=ae87c27e82eaa39a78e2380c9c069abe674ced86;p=kivitendo-erp.git diff --git a/t/db_helper/attr_duration.t b/t/db_helper/attr_duration.t index 0f41cfa03..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 => 91; +use Test::More tests => 130; use Test::Exception; use strict; @@ -27,6 +28,7 @@ use utf8; use Data::Dumper; use Support::TestSetup; +use SL::Locale; sub new_item { return AttrDurationTestDummy->new(@_); @@ -35,6 +37,8 @@ sub new_item { Support::TestSetup::login(); my $item; +$::locale = Locale->new('en'); + ### attr_duration # Wenn das Attribut undef ist: @@ -215,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';