package RequestForm::Test; # imports lib paths, Modern::Perl, etc into t/ scripts use Modern::Perl; use Import::Into; use YAML::Tiny; use Exporter (); use FindBin; # warn $FindBin::Bin; use lib ( '/home/raj/perl-lib', # MooX::Types $FindBin::Bin . '/../../HILIS4/lib', # LLU ); use LIMS::Local::Utils; open my $fh, '>' . $FindBin::Bin . '/mech.htm' or die $!; sub print_output { my $response = shift; print $fh $response->{content}; } sub form_tokens { my $key = LIMS::Local::Utils::today->ymd; my $enc = sub { LIMS::Local::Utils::encrypt(shift, $key) }; return sprintf 'c=%s;u=%s', &$enc('test'), &$enc('test'); } sub patient_data { my $patient = YAML::Tiny->read( 'src/patients.conf' ) or die $!; # ddp $patient; # don't call PDS, and attempt is fatal anyway somewhere in patient_demographic_service() $_->{_skip_pds} ||= 1 for @$patient; # dpp $patient; return $patient; } sub test_schema { _schema() } our @EXPORT = qw(print_output form_tokens patient_data test_schema); sub import { Modern::Perl->import::into(1); Local::DB->import::into(1); Data::Dumper->import::into(1); Data::Printer->import::into(1); goto &Exporter::import; } 1; sub _schema { return ( q{ CREATE TABLE users( id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT ) }, q{ INSERT INTO users(username) VALUES('test') }, q{ CREATE TABLE patients ( id INTEGER PRIMARY KEY AUTOINCREMENT, last_name TEXT, first_name TEXT, dob TEXT, gender TEXT, nhs_number INT ) }, q{ CREATE TABLE referral_sources ( id INTEGER PRIMARY KEY AUTOINCREMENT, display_name TEXT, organisation_code TEXT, referral_type_id INT, is_active TEXT ) }, q{ INSERT INTO referral_sources (display_name, organisation_code, referral_type_id, is_active) VALUES('Newtown General Infirmary', 'ABC01', 1, 'yes') }, q{ CREATE TABLE referral_types ( id INTEGER PRIMARY KEY AUTOINCREMENT, description TEXT ) }, q{ INSERT INTO referral_types(description) VALUES('hospital') }, q{ CREATE TABLE request_form( id TEXT, last_name TEXT, first_name TEXT, dob TEXT, gender TEXT, nhs_number INTEGER, patient_number TEXT, location_name TEXT, location_id INTEGER, referrer TEXT, pds_code TEXT, user_id INTEGER, created TEXT, imported TEXT ) }, ); }