App-Dochazka-REST
view release on metacpan or search on metacpan
lib/App/Dochazka/REST/Test.pm view on Meta::CPAN
order).
To be called like this:
$status = delete_all_attendance_data();
BAIL_OUT(0) unless $status->ok;
=cut
sub delete_all_attendance_data {
note( 'delete locks' );
my $status = cud_generic(
conn => $dbix_conn,
eid => $site->DOCHAZKA_EID_OF_ROOT,
sql => 'DELETE FROM locks',
);
is( $status->level, 'OK' );
is( $status->code, 'DOCHAZKA_CUD_OK' );
return $status unless $status->ok;
note( 'delete intervals' );
$status = cud_generic(
conn => $dbix_conn,
eid => $site->DOCHAZKA_EID_OF_ROOT,
sql => 'DELETE FROM intervals',
);
is( $status->level, 'OK' );
is( $status->code, 'DOCHAZKA_CUD_OK' );
return $status unless $status->ok;
note( 'delete activities' );
$status = cud_generic(
conn => $dbix_conn,
eid => $site->DOCHAZKA_EID_OF_ROOT,
sql => 'DELETE FROM activities',
);
is( $status->level, 'OK' );
is( $status->code, 'DOCHAZKA_CUD_OK' );
return $status unless $status->ok;
note( 're-initialize activities table' );
$status = App::Dochazka::REST::initialize_activities_table( $dbix_conn );
return $status unless $status->ok;
note( 'delete schedhistory' );
$status = cud_generic(
conn => $dbix_conn,
eid => $site->DOCHAZKA_EID_OF_ROOT,
sql => 'DELETE FROM schedhistory',
);
is( $status->level, 'OK' );
is( $status->code, 'DOCHAZKA_CUD_OK' );
return $status unless $status->ok;
note( 'delete privhistory' );
$status = cud_generic(
conn => $dbix_conn,
eid => $site->DOCHAZKA_EID_OF_ROOT,
sql => 'DELETE FROM privhistory WHERE eid != ?',
bind_params => [ $site->DOCHAZKA_EID_OF_ROOT ],
);
is( $status->level, 'OK' );
is( $status->code, 'DOCHAZKA_CUD_OK' );
return $status unless $status->ok;
note( 'delete schedules' );
$status = cud_generic(
conn => $dbix_conn,
eid => $site->DOCHAZKA_EID_OF_ROOT,
sql => 'DELETE FROM schedules WHERE scode != \'DEFAULT\'',
);
is( $status->level, 'OK' );
is( $status->code, 'DOCHAZKA_CUD_OK' );
return $status unless $status->ok;
note( 'delete tempintvls' );
$status = cud_generic(
conn => $dbix_conn,
eid => $site->DOCHAZKA_EID_OF_ROOT,
sql => 'DELETE FROM tempintvls',
);
is( $status->level, 'OK' );
is( $status->code, 'DOCHAZKA_CUD_OK' );
return $status unless $status->ok;
note( 'delete employees' );
$status = cud_generic(
conn => $dbix_conn,
eid => $site->DOCHAZKA_EID_OF_ROOT,
sql => 'DELETE FROM employees WHERE eid != ? AND eid != ?',
bind_params => [ $site->DOCHAZKA_EID_OF_ROOT, $site->DOCHAZKA_EID_OF_DEMO ],
);
is( $status->level, 'OK' );
is( $status->code, 'DOCHAZKA_CUD_OK' );
return $status;
}
#
# functions to perform class-specific 'create', 'retrieve', 'delete', etc. actions
#
sub gen_activity {
my $dis = shift;
my $code = 'FOOBAR';
if ( $dis eq 'create' ) {
# create 'FOOBAR' activity
my $act = App::Dochazka::REST::Model::Activity->spawn( code => $code );
my $status = $act->insert( $faux_context );
if( $status->level ne 'OK' ) {
diag( Dumper $status );
BAIL_OUT(0);
}
is( $status->level, 'OK' );
$act = $status->payload;
is( $act->code, $code );
ok( $act->aid > 5 );
return $act;
} elsif ( $dis eq 'retrieve' ) {
my $status = App::Dochazka::REST::Model::Activity->load_by_code( $dbix_conn, $code );
return $status;
} elsif ( $dis eq 'delete' ) {
my $status = App::Dochazka::REST::Model::Activity->load_by_code( $dbix_conn, $code );
is( $status->level, 'OK' );
my $act = $status->payload;
$status = $act->delete( $faux_context );
is( $status->level, 'OK' );
return;
}
diag( "gen_activity: AAAAAAHHHHH@@@!! \$dis " . Dumper( $dis ) );
BAIL_OUT(0);
}
sub gen_employee {
my $dis = shift;
my $nick = 'bubbaTheCat';
if ( $dis eq 'create' ) {
# create bubbaTheCat employee
my $emp = App::Dochazka::REST::Model::Employee->spawn( nick => $nick );
my $status = $emp->insert( $faux_context );
( run in 2.204 seconds using v1.01-cache-2.11-cpan-2398b32b56e )