aboutsummaryrefslogtreecommitdiffstats
path: root/t/app
diff options
context:
space:
mode:
authorMatthew Somerville <matthew@mysociety.org>2015-09-25 22:35:39 +0100
committerMatthew Somerville <matthew@mysociety.org>2015-12-02 17:41:35 +0000
commit55412b79394ff1b1cabe368aed67fa8f68680ecc (patch)
tree33657093517818b8ba60f156484ec540f9c4af17 /t/app
parent0c2a792b154e1b28528db887bbde80b19268b9fe (diff)
Reduce use of FixMyStreet::App.
Command line scripts don't need a full blown app, just database.
Diffstat (limited to 't/app')
-rw-r--r--t/app/model/alert_type.t54
-rw-r--r--t/app/model/comment.t4
-rw-r--r--t/app/model/extra.t6
-rw-r--r--t/app/model/moderation.t6
-rw-r--r--t/app/model/photoset.t23
-rw-r--r--t/app/model/problem.t32
-rw-r--r--t/app/model/questionnaire.t6
-rw-r--r--t/app/model/token.t4
-rw-r--r--t/app/sendreport/email.t6
9 files changed, 72 insertions, 69 deletions
diff --git a/t/app/model/alert_type.t b/t/app/model/alert_type.t
index 2620dd68c..f67b5d1f7 100644
--- a/t/app/model/alert_type.t
+++ b/t/app/model/alert_type.t
@@ -9,21 +9,21 @@ my $mech = FixMyStreet::TestMech->new();
# this is the easiest way to make sure we're not going
# to get any emails sent by data kicking about in the database
-FixMyStreet::App->model('DB::AlertType')->email_alerts();
+FixMyStreet::DB->resultset('AlertType')->email_alerts();
$mech->clear_emails_ok;
my $user =
- FixMyStreet::App->model('DB::User')
+ FixMyStreet::DB->resultset('User')
->find_or_create( { email => 'test@example.com', name => 'Test User' } );
ok $user, "created test user";
my $user2 =
- FixMyStreet::App->model('DB::User')
+ FixMyStreet::DB->resultset('User')
->find_or_create( { email => 'commenter@example.com', name => 'Commenter' } );
ok $user2, "created comment user";
my $user3 =
- FixMyStreet::App->model('DB::User')
+ FixMyStreet::DB->resultset('User')
->find_or_create( { email => 'bystander@example.com', name => 'Bystander' } );
ok $user3, "created bystander";
@@ -36,7 +36,7 @@ my $dt = DateTime->new(
second => 23
);
-my $report = FixMyStreet::App->model('DB::Problem')->find_or_create(
+my $report = FixMyStreet::DB->resultset('Problem')->find_or_create(
{
postcode => 'SW1A 1AA',
bodies_str => '2504',
@@ -62,7 +62,7 @@ my $report = FixMyStreet::App->model('DB::Problem')->find_or_create(
my $report_id = $report->id;
ok $report, "created test report - $report_id";
-my $comment = FixMyStreet::App->model('DB::Comment')->find_or_create(
+my $comment = FixMyStreet::DB->resultset('Comment')->find_or_create(
{
problem_id => $report_id,
user_id => $user2->id,
@@ -74,7 +74,7 @@ my $comment = FixMyStreet::App->model('DB::Comment')->find_or_create(
anonymous => 'f',
}
);
-my $comment2 = FixMyStreet::App->model('DB::Comment')->find_or_create(
+my $comment2 = FixMyStreet::DB->resultset('Comment')->find_or_create(
{
problem_id => $report_id,
user_id => $user2->id,
@@ -90,7 +90,7 @@ my $comment2 = FixMyStreet::App->model('DB::Comment')->find_or_create(
$comment->confirmed( \"current_timestamp - '3 days'::interval" );
$comment->update;
-my $alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
+my $alert = FixMyStreet::DB->resultset('Alert')->find_or_create(
{
user => $user,
parameter => $report_id,
@@ -101,7 +101,7 @@ my $alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
}
);
-my $alert3 = FixMyStreet::App->model('DB::Alert')->find_or_create(
+my $alert3 = FixMyStreet::DB->resultset('Alert')->find_or_create(
{
user => $user3,
parameter => $report_id,
@@ -129,7 +129,7 @@ for my $test (
subtest "correct summary for state of $test->{state}" => sub {
$mech->clear_emails_ok;
- my $sent = FixMyStreet::App->model('DB::AlertSent')->search(
+ my $sent = FixMyStreet::DB->resultset('AlertSent')->search(
{
alert_id => [ $alert->id, $alert3->id ],
parameter => $comment->id,
@@ -139,7 +139,7 @@ for my $test (
$report->state( $test->{state} );
$report->update;
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
$mech->email_count_is( 2 );
my @emails = $mech->get_email;
@@ -167,7 +167,7 @@ my $now = DateTime->now();
$report->confirmed( $now->ymd . ' ' . $now->hms );
$report->update();
-my $council_alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
+my $council_alert = FixMyStreet::DB->resultset('Alert')->find_or_create(
{
user => $user2,
parameter => 2504,
@@ -181,7 +181,7 @@ my $council_alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
subtest "correct text for title after URL" => sub {
$mech->clear_emails_ok;
- my $sent = FixMyStreet::App->model('DB::AlertSent')->search(
+ my $sent = FixMyStreet::DB->resultset('AlertSent')->search(
{
alert_id => $council_alert->id,
parameter => $report->id,
@@ -190,7 +190,7 @@ subtest "correct text for title after URL" => sub {
FixMyStreet::override_config {
MAPIT_URL => 'http://mapit.mysociety.org/',
}, sub {
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
};
my $email = $mech->get_email;
@@ -304,7 +304,7 @@ foreach my $test (
subtest "correct Nearest Road text with $test->{desc}" => sub {
$mech->clear_emails_ok;
- my $sent = FixMyStreet::App->model('DB::AlertSent')->search(
+ my $sent = FixMyStreet::DB->resultset('AlertSent')->search(
{
alert_id => $council_alert->id,
parameter => $report->id,
@@ -327,7 +327,7 @@ foreach my $test (
FixMyStreet::override_config {
MAPIT_URL => 'http://mapit.mysociety.org/',
}, sub {
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
};
my $email = $mech->get_email;
@@ -341,7 +341,7 @@ foreach my $test (
};
}
-my $ward_alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
+my $ward_alert = FixMyStreet::DB->resultset('Alert')->find_or_create(
{
user => $user,
parameter => 7117,
@@ -352,7 +352,7 @@ my $ward_alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
}
);
-my $report_to_council = FixMyStreet::App->model('DB::Problem')->find_or_create(
+my $report_to_council = FixMyStreet::DB->resultset('Problem')->find_or_create(
{
postcode => 'WS13 6YY',
bodies_str => '2434',
@@ -376,7 +376,7 @@ my $report_to_council = FixMyStreet::App->model('DB::Problem')->find_or_create(
}
);
-my $report_to_county_council = FixMyStreet::App->model('DB::Problem')->find_or_create(
+my $report_to_county_council = FixMyStreet::DB->resultset('Problem')->find_or_create(
{
postcode => 'WS13 6YY',
bodies_str => '2240',
@@ -400,7 +400,7 @@ my $report_to_county_council = FixMyStreet::App->model('DB::Problem')->find_or_c
}
);
-my $report_outside_district = FixMyStreet::App->model('DB::Problem')->find_or_create(
+my $report_outside_district = FixMyStreet::DB->resultset('Problem')->find_or_create(
{
postcode => 'WS13 6YY',
bodies_str => '2221',
@@ -427,7 +427,7 @@ my $report_outside_district = FixMyStreet::App->model('DB::Problem')->find_or_cr
subtest "check alerts from cobrand send main site url for alerts for different council" => sub {
$mech->clear_emails_ok;
- my $sent = FixMyStreet::App->model('DB::AlertSent')->search(
+ my $sent = FixMyStreet::DB->resultset('AlertSent')->search(
{
alert_id => $ward_alert->id,
}
@@ -436,7 +436,7 @@ subtest "check alerts from cobrand send main site url for alerts for different c
FixMyStreet::override_config {
MAPIT_URL => 'http://mapit.mysociety.org/',
}, sub {
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
};
my $email = $mech->get_email;
@@ -453,7 +453,7 @@ subtest "check alerts from cobrand send main site url for alerts for different c
};
-my $local_alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
+my $local_alert = FixMyStreet::DB->resultset('Alert')->find_or_create(
{
user => $user,
parameter => -1.731322,
@@ -468,13 +468,13 @@ my $local_alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
subtest "check local alerts from cobrand send main site url for alerts for different council" => sub {
$mech->clear_emails_ok;
- my $sent = FixMyStreet::App->model('DB::AlertSent')->search(
+ my $sent = FixMyStreet::DB->resultset('AlertSent')->search(
{
alert_id => $local_alert->id,
}
)->delete;
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
my $email = $mech->get_email;
my $body = $email->body;
@@ -494,7 +494,7 @@ subtest "correct i18n-ed summary for state of closed" => sub {
$report->update( { state => 'closed' } );
$alert->update( { lang => 'nb', cobrand => 'fiksgatami' } );
- FixMyStreet::App->model('DB::AlertSent')->search( {
+ FixMyStreet::DB->resultset('AlertSent')->search( {
alert_id => $alert->id,
parameter => $comment->id,
} )->delete;
@@ -502,7 +502,7 @@ subtest "correct i18n-ed summary for state of closed" => sub {
FixMyStreet::override_config {
ALLOWED_COBRANDS => [ 'fiksgatami' ],
}, sub {
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
};
$mech->email_count_is( 1 );
diff --git a/t/app/model/comment.t b/t/app/model/comment.t
index 3141af828..ae93824a7 100644
--- a/t/app/model/comment.t
+++ b/t/app/model/comment.t
@@ -6,9 +6,9 @@ use warnings;
use Test::More tests => 2;
use FixMyStreet;
-use FixMyStreet::App;
+use FixMyStreet::DB;
-my $comment_rs = FixMyStreet::App->model('DB::Comment');
+my $comment_rs = FixMyStreet::DB->resultset('Comment');
my $comment = $comment_rs->new(
{
diff --git a/t/app/model/extra.t b/t/app/model/extra.t
index 21c37336e..52e2d839c 100644
--- a/t/app/model/extra.t
+++ b/t/app/model/extra.t
@@ -3,13 +3,11 @@ use warnings;
use Test::More;
use utf8;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use Data::Dumper;
use DateTime;
-my $c = FixMyStreet::App->new;
-
-my $db = FixMyStreet::App->model('DB')->schema;
+my $db = FixMyStreet::DB->connect;
$db->txn_begin;
my $body = $db->resultset('Body')->create({ name => 'ExtraTestingBody' });
diff --git a/t/app/model/moderation.t b/t/app/model/moderation.t
index cdc9a91b0..8fa333db4 100644
--- a/t/app/model/moderation.t
+++ b/t/app/model/moderation.t
@@ -4,17 +4,17 @@ use Test::More;
use Test::Exception;
use utf8;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use Data::Dumper;
use DateTime;
my $dt = DateTime->now;
-my $user = FixMyStreet::App->model('DB::User')->find_or_create({
+my $user = FixMyStreet::DB->resultset('User')->find_or_create({
name => 'Bob', email => 'bob@example.com',
});
sub get_report_and_original_data {
- my $report = FixMyStreet::App->model('DB::Problem')->create(
+ my $report = FixMyStreet::DB->resultset('Problem')->create(
{
postcode => 'BR1 3SB',
bodies_str => '',
diff --git a/t/app/model/photoset.t b/t/app/model/photoset.t
index 9e566f873..938c77b2a 100644
--- a/t/app/model/photoset.t
+++ b/t/app/model/photoset.t
@@ -4,7 +4,7 @@ use Test::More;
use Test::Exception;
use utf8;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use Data::Dumper;
use DateTime;
use Path::Tiny 'path';
@@ -12,19 +12,22 @@ use File::Temp 'tempdir';
my $dt = DateTime->now;
-my $c = FixMyStreet::App->new;
my $UPLOAD_DIR = tempdir( CLEANUP => 1 );
-local $c->config->{UPLOAD_DIR} = $UPLOAD_DIR;
-my $user = $c->model('DB::User')->find_or_create({
+my $db = FixMyStreet::DB->storage->schema;
+
+my $user = $db->resultset('User')->find_or_create({
name => 'Bob', email => 'bob@example.com',
});
-my $image_path = path('t/app/controller/sample.jpg');
+FixMyStreet::override_config {
+ UPLOAD_DIR => $UPLOAD_DIR,
+}, sub {
-my $db = FixMyStreet::App->model('DB')->schema;
$db->txn_begin;
+my $image_path = path('t/app/controller/sample.jpg');
+
sub make_report {
my $photo_data = shift;
return $db->resultset('Problem')->create({
@@ -54,23 +57,25 @@ sub make_report {
subtest 'Photoset with photo inline in DB' => sub {
my $report = make_report( $image_path->slurp );
- my $photoset = $report->get_photoset($c);
+ my $photoset = $report->get_photoset();
is $photoset->num_images, 1, 'Found just 1 image';
};
$image_path->copy( path( $UPLOAD_DIR, '0123456789012345678901234567890123456789.jpeg' ) );
subtest 'Photoset with 1 referenced photo' => sub {
my $report = make_report( '0123456789012345678901234567890123456789' );
- my $photoset = $report->get_photoset($c);
+ my $photoset = $report->get_photoset();
is $photoset->num_images, 1, 'Found just 1 image';
};
subtest 'Photoset with 1 referenced photo' => sub {
my $report = make_report( '0123456789012345678901234567890123456789,0123456789012345678901234567890123456789,0123456789012345678901234567890123456789' );
- my $photoset = $report->get_photoset($c);
+ my $photoset = $report->get_photoset();
is $photoset->num_images, 3, 'Found 3 images';
};
$db->txn_rollback;
+};
+
done_testing();
diff --git a/t/app/model/problem.t b/t/app/model/problem.t
index 82569d72a..6f706a22a 100644
--- a/t/app/model/problem.t
+++ b/t/app/model/problem.t
@@ -7,13 +7,13 @@ use Test::More;
use FixMyStreet::TestMech;
use FixMyStreet;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use mySociety::Locale;
use Sub::Override;
mySociety::Locale::gettext_domain('FixMyStreet');
-my $problem_rs = FixMyStreet::App->model('DB::Problem');
+my $problem_rs = FixMyStreet::DB->resultset('Problem');
my $problem = $problem_rs->new(
{
@@ -147,7 +147,7 @@ for my $test (
};
}
-my $user = FixMyStreet::App->model('DB::User')->find_or_create(
+my $user = FixMyStreet::DB->resultset('User')->find_or_create(
{
email => 'system_user@example.com'
}
@@ -161,7 +161,7 @@ $problem->insert;
my $tz_local = DateTime::TimeZone->new( name => 'local' );
-my $body = FixMyStreet::App->model('DB::Body')->new({
+my $body = FixMyStreet::DB->resultset('Body')->new({
name => 'Edinburgh City Council'
});
@@ -521,7 +521,7 @@ foreach my $test ( {
$mech->clear_emails_ok;
- FixMyStreet::App->model('DB::Problem')->search(
+ $problem_rs->search(
{
whensent => undef
}
@@ -541,7 +541,7 @@ foreach my $test ( {
} );
FixMyStreet::override_config $override, sub {
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ $problem_rs->send_reports();
};
$mech->email_count_is( $test->{ email_count } );
@@ -596,7 +596,7 @@ subtest 'check can set mutiple emails as a single contact' => sub {
$mech->clear_emails_ok;
- FixMyStreet::App->model('DB::Problem')->search(
+ $problem_rs->search(
{
whensent => undef
}
@@ -615,7 +615,7 @@ subtest 'check can set mutiple emails as a single contact' => sub {
} );
FixMyStreet::override_config $override, sub {
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ $problem_rs->send_reports();
};
$mech->email_count_is(1);
@@ -630,7 +630,7 @@ subtest 'check can turn on report sent email alerts' => sub {
);
$mech->clear_emails_ok;
- FixMyStreet::App->model('DB::Problem')->search(
+ $problem_rs->search(
{
whensent => undef
}
@@ -648,7 +648,7 @@ subtest 'check can turn on report sent email alerts' => sub {
send_fail_count => 0,
} );
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ $problem_rs->send_reports();
$mech->email_count_is( 2 );
my @emails = $mech->get_email;
@@ -675,7 +675,7 @@ subtest 'check can turn on report sent email alerts' => sub {
subtest 'check iOS app store test reports not sent' => sub {
$mech->clear_emails_ok;
- FixMyStreet::App->model('DB::Problem')->search(
+ $problem_rs->search(
{
whensent => undef
}
@@ -692,7 +692,7 @@ subtest 'check iOS app store test reports not sent' => sub {
send_fail_count => 0,
} );
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ $problem_rs->send_reports();
$mech->email_count_is( 0 );
@@ -704,7 +704,7 @@ subtest 'check iOS app store test reports not sent' => sub {
subtest 'check reports from abuser not sent' => sub {
$mech->clear_emails_ok;
- FixMyStreet::App->model('DB::Problem')->search(
+ $problem_rs->search(
{
whensent => undef
}
@@ -721,7 +721,7 @@ subtest 'check reports from abuser not sent' => sub {
send_fail_count => 0,
} );
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ $problem_rs->send_reports();
$mech->email_count_is( 1 );
@@ -734,10 +734,10 @@ subtest 'check reports from abuser not sent' => sub {
whensent => undef,
} );
- my $abuse = FixMyStreet::App->model('DB::Abuse')->create( { email => $problem->user->email } );
+ my $abuse = FixMyStreet::DB->resultset('Abuse')->create( { email => $problem->user->email } );
$mech->clear_emails_ok;
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ $problem_rs->send_reports();
$mech->email_count_is( 0 );
diff --git a/t/app/model/questionnaire.t b/t/app/model/questionnaire.t
index 240d6d050..f82b071bd 100644
--- a/t/app/model/questionnaire.t
+++ b/t/app/model/questionnaire.t
@@ -8,9 +8,9 @@ use Test::More;
use FixMyStreet;
use FixMyStreet::TestMech;
-my $user = FixMyStreet::App->model('DB::User')->find_or_create( { email => 'test@example.com' } );
+my $user = FixMyStreet::DB->resultset('User')->find_or_create( { email => 'test@example.com' } );
-my $problem = FixMyStreet::App->model('DB::Problem')->create(
+my $problem = FixMyStreet::DB->resultset('Problem')->create(
{
postcode => 'EH99 1SP',
latitude => 1,
@@ -106,7 +106,7 @@ for my $test (
$mech->email_count_is(0);
- FixMyStreet::App->model('DB::Questionnaire')
+ FixMyStreet::DB->resultset('Questionnaire')
->send_questionnaires( { site => 'fixmystreet' } );
$mech->email_count_is( $test->{send_email} );
diff --git a/t/app/model/token.t b/t/app/model/token.t
index d72574bb1..c98cea395 100644
--- a/t/app/model/token.t
+++ b/t/app/model/token.t
@@ -6,7 +6,7 @@ use warnings;
use Test::More;
use FixMyStreet;
-use FixMyStreet::App;
+use FixMyStreet::DB;
my %tests = (
nested_hash => { foo => 'bar', and => [ 'baz', 'bundy' ] },
@@ -14,7 +14,7 @@ my %tests = (
scalar => 123,
);
-my $token_rs = FixMyStreet::App->model('DB::Token');
+my $token_rs = FixMyStreet::DB->resultset('Token');
foreach my $test_data_name ( sort keys %tests ) {
my $test_data = $tests{$test_data_name};
diff --git a/t/app/sendreport/email.t b/t/app/sendreport/email.t
index 65cd7bfa8..eacc6dcf6 100644
--- a/t/app/sendreport/email.t
+++ b/t/app/sendreport/email.t
@@ -6,7 +6,7 @@ use warnings;
use Test::More;
use FixMyStreet;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use FixMyStreet::SendReport::Email;
use FixMyStreet::TestMech;
use mySociety::Locale;
@@ -17,7 +17,7 @@ my $e = FixMyStreet::SendReport::Email->new();
# area id 1000
my $params = { id => 1000, name => 'Council of the Thousand' };
-my $body = FixMyStreet::App->model('DB::Body')->find_or_create($params);
+my $body = FixMyStreet::DB->resultset('Body')->find_or_create($params);
ok $body, "found/created body";
my $contact = $mech->create_contact_ok(
@@ -27,7 +27,7 @@ my $contact = $mech->create_contact_ok(
note => '',
);
-my $row = FixMyStreet::App->model('DB::Problem')->new( {
+my $row = FixMyStreet::DB->resultset('Problem')->new( {
bodies_str => '1000',
category => 'category',
cobrand => '',