diff options
Diffstat (limited to 't/app/model/user_planned_report.t')
-rw-r--r-- | t/app/model/user_planned_report.t | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/t/app/model/user_planned_report.t b/t/app/model/user_planned_report.t new file mode 100644 index 000000000..95a76615e --- /dev/null +++ b/t/app/model/user_planned_report.t @@ -0,0 +1,52 @@ +use strict; +use warnings; + +use Test::More; + +use FixMyStreet::TestMech; +use FixMyStreet::DB; + +my $mech = FixMyStreet::TestMech->new(); + +my @problems = $mech->create_problems_for_body(1, 2237, 'Title'); +my $problem = $problems[0]; +my $user = $problem->user; +my $user2 = $mech->create_user_ok('other@example.net'); + +is $user->active_planned_reports, 0; +is $user->planned_reports, 0; + +$user->add_to_planned_reports($problem); +is $user->active_planned_reports, 1; +is $user->planned_reports, 1; + +$user->add_to_planned_reports($problem); +is $user->active_planned_reports, 1; +is $user->planned_reports, 1; + +$user->remove_from_planned_reports($problem); +is $user->active_planned_reports, 0; +is $user->planned_reports, 1; + +$user->add_to_planned_reports($problem); +is $user->active_planned_reports, 1; +is $user->planned_reports, 2; + +$user2->add_to_planned_reports($problem); +is $user->active_planned_reports, 0; +is $user->planned_reports, 2; +is $user2->active_planned_reports, 1; +is $user2->planned_reports, 1; + +$user->add_to_planned_reports($problem); +is $user->active_planned_reports, 1; +is $user->planned_reports, 3; +is $user2->active_planned_reports, 0; +is $user2->planned_reports, 1; + +done_testing(); + +END { + $mech->delete_user($user); + $mech->delete_user($user2); +} |