Volltext-Suche Auftrag: auch in Wiedevorlagen suchen
[kivitendo-erp.git] / t / helper / attr.t
index 9f91865..a8f69f1 100644 (file)
@@ -1,17 +1,20 @@
-use Test::More tests => 25;
+use Test::More tests => 44;
+
+use lib 't';
 
 use DateTime;
 
+use_ok 'Support::TestSetup';
 use_ok 'SL::DB::Part';
 use_ok 'SL::DB::Order';
-use_ok 'SL::Dispatcher';
+use_ok 'SL::DB::Invoice';
 
-SL::Dispatcher::pre_startup_setup();
+Support::TestSetup::login();
 
-$::form = Form->new;
+{
 $::myconfig{numberformat} = '1.000,00';
 $::myconfig{dateformat} = 'dd.mm.yyyy';
-$::locale = Locale->new('de');
+}
 
 my $p = new_ok 'SL::DB::Part';
 is($p->sellprice_as_number('2,30'), '2,30');
@@ -20,6 +23,18 @@ is($p->sellprice_as_number, '2,30');
 is($p->sellprice_as_number('2,3442'), '2,3442');
 is($p->sellprice, 2.3442);
 is($p->sellprice_as_number, '2,3442');
+is($p->listprice_as_null_number('2,30'), '2,30');
+is($p->listprice, 2.30);
+is($p->listprice_as_null_number, '2,30');
+is($p->listprice_as_null_number('2,3442'), '2,3442');
+is($p->listprice, 2.3442);
+is($p->listprice_as_null_number, '2,3442');
+is($p->listprice_as_null_number(''), '');
+is($p->listprice, undef);
+is($p->listprice_as_null_number, '');
+is($p->listprice_as_null_number('0'), '0,00');
+is($p->listprice, 0);
+is($p->listprice_as_null_number, '0,00');
 
 my $o = new_ok 'SL::DB::Order';
 is($o->reqdate_as_date('11.12.2007'), '11.12.2007');
@@ -38,3 +53,21 @@ is($o->marge_percent, 0.224);
 is($o->marge_percent_as_percent, '22,40');
 is($o->marge_percent(0.231), 0.231);
 is($o->marge_percent_as_percent, '23,10');
+
+# overloaded attr: invoice taxamount
+my $i = new_ok 'SL::DB::Invoice';
+
+is($i->taxamount_as_number, '0,00');
+$i->amount(12);
+$i->netamount(10.34);
+is($i->taxamount_as_number, '1,66');
+
+$o->closed(1);
+is $o->closed_as_bool_yn, 'Ja', 'bool 1';
+$o->closed(0);
+is $o->closed_as_bool_yn, 'Nein', 'bool 2';
+
+# undef test: this only works for columns without default, rose will set
+# defaults according to the database
+$i->taxincluded(undef);
+is $i->taxincluded_as_bool_yn, '', 'bool 3';