Changeset 1792 for trunk/LATMOS-Accounts


Ignore:
Timestamp:
06/24/16 18:00:19 (8 years ago)
Author:
nanardon
Message:

Add employment overlapping tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts/live-test/10_sql.t

    r1567 r1792  
    88use FindBin qw($Bin); 
    99 
     10use DateTime; 
     11 
    1012require "$Bin/common.pl"; 
    1113eval "require '$Bin/config.pl'"; 
     
    1618    plan skip_all => 'No SQL base defined'; 
    1719} else { 
    18     plan tests => 32; # Number of test 
     20    plan tests => 45; # Number of test 
    1921} 
    2022 
     
    9294ok(!$base->get_object('netzone', $oid), "netzone $oid is actually deleted"); 
    9395} 
     96 
     97{ # test employment 
     98use_ok('LATMOS::Accounts::Bases::Sql::Employment'); 
     99my $baseEmp = genid(); 
     100my $empUser = genid(); 
     101 
     102my $baseEmpStart = DateTime->now->subtract(days => 60); 
     103my $baseEmpEnd   = DateTime->now->add(days => 60); 
     104 
     105ok($base->create_c_object('user', $empUser, 
     106    sn => "snUser", 
     107    givenName => "givenNameUser", 
     108    ), "Can create user $empUser"); 
     109 
     110ok($base->create_c_object('employment', $baseEmp, 
     111    user => $empUser, 
     112    firstday => $baseEmpStart->dmy('/'), 
     113    lastday  => $baseEmpEnd->dmy('/'), 
     114), "Can create current employment"); 
     115 
     116{ 
     117    my $Emp      = genid();  
     118    my $EmpStart = DateTime->now->add(days => 61); 
     119    my $EmpEnd   = DateTime->now->add(days => 120); 
     120    ok($base->create_c_object('employment', $Emp, 
     121        user => $empUser, 
     122        firstday => $EmpStart->dmy('/'), 
     123        lastday  => $EmpEnd->dmy('/'), 
     124    ), "Can create employment after"); 
     125    ok($base->delete_object('employment', $Emp), "Deleting Emp $Emp"); 
     126} 
     127{ 
     128    my $Emp      = genid();  
     129    my $EmpStart = DateTime->now->subtract(days => 40); 
     130    my $EmpEnd   = DateTime->now->subtract(days => 20); 
     131    ok(!$base->create_c_object('employment', $Emp, 
     132        user => $empUser, 
     133        firstday => $EmpStart->dmy('/'), 
     134        lastday  => $EmpEnd->dmy('/'), 
     135    ), "Cannot create employment overlaping start"); 
     136    ok(!$base->delete_object('employment', $Emp), "Deleting Emp $Emp"); 
     137} 
     138{ 
     139    my $Emp      = genid();  
     140    my $EmpStart = DateTime->now->add(days => 30); 
     141    my $EmpEnd   = DateTime->now->add(days => 90); 
     142    ok(!$base->create_c_object('employment', $Emp, 
     143        user => $empUser, 
     144        firstday => $EmpStart->dmy('/'), 
     145        lastday  => $EmpEnd->dmy('/'), 
     146    ), "Cannot create employment overlapping end"); 
     147    ok(!$base->delete_object('employment', $Emp), "Deleting Emp $Emp"); 
     148} 
     149{ 
     150    my $Emp      = genid();  
     151    my $EmpStart = DateTime->now->subtract(days => 90); 
     152    my $EmpEnd   = DateTime->now->add(days => 90); 
     153    ok(!$base->create_c_object('employment', $Emp, 
     154        user => $empUser, 
     155        firstday => $EmpStart->dmy('/'), 
     156        lastday  => $EmpEnd->dmy('/'), 
     157    ), "Cannot create employment overlapping another"); 
     158    ok(!$base->delete_object('employment', $Emp), "Deleting Emp $Emp"); 
     159} 
     160 
     161ok($base->delete_object('employment', $baseEmp), "Deleting Emp $baseEmp"); 
     162ok($base->delete_object('user', $empUser), "Deleting user $empUser"); 
     163} 
Note: See TracChangeset for help on using the changeset viewer.