#!/usr/bin/perl
use Test::WWW::Mechanize::CGIApp;
use Test::Builder::Tester;
use Data::Dumper;
use strict;
use warnings;
use Test::More tests => 25;
=begin: tests:
1) add new foreign id
2) amend foreign id
3) delete foreign id
=cut
BEGIN {
require 't/test-lib.pl';
}
my $mech = get_mech();
do_login();
my $dbh;
eval {
$dbh = get_dbh() or die 'no database handle recieved from get_dbh';
};
warn $@ if $@;
my $foreign_id = 'Z123';
# get results page:
$mech->get_ok('/result/=/1'); # print_and_exit();
{
$mech->form_name('flow_requests');
$mech->field( foreign_id => $foreign_id );
$mech->submit(); # print_and_exit();
lacks_dfv_errors(); # print_and_exit();
$mech->content_contains(
get_messages('action')->{edit_success},
'OK: new record succeeded',
); # print_and_exit();
}
# check history:
$mech->get_ok('/history/=/1'); # print_and_exit();
{
$mech->has_tag(
td => 'new Flow remote system ID',
'OK: expected history present',
);
}
# reload for edit:
$mech->get_ok('/result/=/1');
{
$mech->content_contains(
$foreign_id, 'OK: expected foreign id detected'
); # print_and_exit();
$foreign_id .= 4; # add a digit
$mech->form_name('flow_requests');
$mech->field( foreign_id => $foreign_id );
$mech->submit(); # print_and_exit();
lacks_dfv_errors(); # print_and_exit();
$mech->content_contains(
get_messages('action')->{edit_success},
'OK: new record succeeded',
); # print_and_exit();
}
# check history:
$mech->get_ok('/history/=/1'); # print_and_exit();
{
$mech->has_tag(
td => 'updated Flow remote system ID',
'OK: expected history present',
);
}
# reload for deletion:
$mech->get_ok('/result/=/1');
{
$mech->content_contains(
$foreign_id, 'OK: expected foreign id amended'
); # print_and_exit();
$mech->form_name('flow_requests');
$mech->field( foreign_id => undef );
$mech->submit(); # print_and_exit();
lacks_dfv_errors(); # print_and_exit();
$mech->content_contains(
get_messages('action')->{edit_success},
'OK: new record succeeded',
); # print_and_exit();
}
# check history:
$mech->get_ok('/history/=/1'); # print_and_exit();
{
$mech->has_tag(
td => 'deleted Flow remote system ID',
'OK: expected history present',
);
}
$mech->get_ok('/result/=/1');
{
$mech->content_lacks(
$foreign_id, 'OK: expected foreign id deleted'
);
}
do_logout();