Skip to content

Commit a42c63d

Browse files
committed
Change the deleteXXX mojolicious tests.
1 parent b5f223d commit a42c63d

16 files changed

+126
-66
lines changed

lib/DB/Schema/ResultSet/ProblemPool.pm

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,12 +88,12 @@ sub getProblemPool ($self, %args) {
8888

8989
my $pool = $self->find($search_info, { join => [qw/courses/] });
9090

91-
unless ($pool) {
92-
my $course_name = $course->course_name;
91+
DB::Exception::PoolNotInCourse->throw(message => 'The pool with '
92+
. ($args{info}{pool_name} ? ' name ' . $args{info}{pool_name} : 'id ' . $args{info}{problem_pool_id})
93+
. 'is not in the course '
94+
. $course->course_name)
95+
unless $pool;
9396

94-
DB::Exception::PoolNotInCourse->throw(
95-
message => "The pool with name \{$args{info}->{pool_name}} is not in the course $course_name");
96-
}
9797
return $pool if $args{as_result_set};
9898
return { $pool->get_columns };
9999
}
@@ -193,7 +193,7 @@ sub updateProblemPool ($self, %args) {
193193

194194
my $pool = $self->getProblemPool(info => $args{info}, as_result_set => 1);
195195

196-
DB::Excpetion::PoolNotInCourse->throw(
196+
DB::Exception::PoolNotInCourse->throw(
197197
message => 'The problem pool '
198198
. (
199199
$args{info}->{pool_name}
@@ -312,7 +312,6 @@ This gets a single problem out of a ProblemPool.
312312
=cut
313313

314314
sub getPoolProblem ($self, %args) {
315-
316315
my $problem_pool = $self->getProblemPool(info => $args{info}, as_result_set => 1);
317316

318317
my $pool_problem_info = {};
@@ -328,6 +327,12 @@ sub getPoolProblem ($self, %args) {
328327

329328
if (scalar(@pool_problems) == 1) {
330329
return $args{as_result_set} ? $pool_problems[0] : { $pool_problems[0]->get_inflated_columns };
330+
} elsif (scalar(@pool_problems) == 0) {
331+
DB::Exception::PoolProblemNotInPool->throw(message => 'The problem with id '
332+
. $pool_problem_info->{pool_problem_id}
333+
. ' is not in the pool named \''
334+
. $problem_pool->pool_name
335+
. "'");
331336
} else {
332337
# Pick a random problem.
333338
my $prob = $pool_problems[ rand @pool_problems ];

lib/DB/Schema/ResultSet/SetProblem.pm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,7 @@ Nothing (undef) is returned.
356356

357357
sub deleteSetProblem ($self, %args) {
358358
$self->getSetProblem(info => $args{info}, as_result_set => 1)->delete;
359+
return;
359360
}
360361

361362
# just a small subroutine to shorten access to the db.

lib/DB/Schema/ResultSet/User.pm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ The deleted user as a C<DBIx::Class::ResultSet::User> object.
150150

151151
sub deleteGlobalUser ($self, %args) {
152152
$self->getGlobalUser(info => $args{info}, as_result_set => 1)->delete;
153+
return;
153154
}
154155

155156
=head1 updateGlobalUser

t/db/003_users.t

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ $users_rs->deleteGlobalUser(info => { username => $user->{username} });
226226

227227
# and check they are no longer in the database:
228228
throws_ok {
229-
$users_rs->getGlobalUser(info => { username => $user->{username}});
229+
$users_rs->getGlobalUser(info => { username => $user->{username} });
230230
}
231231
'DB::Exception::UserNotFound', 'deleteUser: delete a user';
232232

t/db/007_user_set.t

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -790,19 +790,23 @@ throws_ok {
790790

791791
# Delete some user sets that were created.
792792

793-
$user_set_rs->deleteUserSet(info => {
793+
$user_set_rs->deleteUserSet(
794+
info => {
794795
username => $new_user_set2->{username},
795796
course_name => $new_user_set2->{course_name},
796797
set_name => $new_user_set2->{set_name}
797-
});
798+
}
799+
);
798800

799801
# And then check that it is no longer in the database.
800802
throws_ok {
801-
$user_set_rs->getUserSet(info => {
802-
username => $new_user_set2->{username},
803-
course_name => $new_user_set2->{course_name},
804-
set_name => $new_user_set2->{set_name}
805-
});
803+
$user_set_rs->getUserSet(
804+
info => {
805+
username => $new_user_set2->{username},
806+
course_name => $new_user_set2->{course_name},
807+
set_name => $new_user_set2->{set_name}
808+
}
809+
);
806810
}
807811
'DB::Exception::UserSetNotInCourse', 'deleteUserSet: successfully delete a user set';
808812

@@ -816,11 +820,13 @@ $user_set_rs->deleteUserSet(
816820

817821
# And then check that it is no longer in the database.
818822
throws_ok {
819-
$user_set_rs->getUserSet(info => {
820-
username => $ralph_user_set->{username},
821-
course_name => $ralph_user_set->{course_name},
822-
set_name => $ralph_user_set->{set_name}
823-
});
823+
$user_set_rs->getUserSet(
824+
info => {
825+
username => $ralph_user_set->{username},
826+
course_name => $ralph_user_set->{course_name},
827+
set_name => $ralph_user_set->{set_name}
828+
}
829+
);
824830
}
825831
'DB::Exception::UserSetNotInCourse', 'deleteUserSet: successfully delete another user set';
826832

t/db/009_problems.t

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -373,12 +373,12 @@ $problem_rs->deleteSetProblem(
373373
# And check that it is sucessfully removed from the db.
374374
throws_ok {
375375
$problem_rs->getSetProblem(
376-
info => {
377-
course_name => 'Precalculus',
378-
set_name => 'HW #1',
379-
problem_number => 99
380-
}
381-
);
376+
info => {
377+
course_name => 'Precalculus',
378+
set_name => 'HW #1',
379+
problem_number => 99
380+
}
381+
);
382382
}
383383
'DB::Exception::SetProblemNotFound', 'deleteSetProblem: delete one problem in an existing set.';
384384

@@ -392,12 +392,12 @@ $problem_rs->deleteSetProblem(
392392
# And check that it is sucessfully removed from the db.
393393
throws_ok {
394394
$problem_rs->getSetProblem(
395-
info => {
396-
course_name => 'Precalculus',
397-
set_name => 'HW #1',
398-
problem_number => $prob2_from_db->{problem_number},
399-
}
400-
);
395+
info => {
396+
course_name => 'Precalculus',
397+
set_name => 'HW #1',
398+
problem_number => $prob2_from_db->{problem_number},
399+
}
400+
);
401401
}
402402
'DB::Exception::SetProblemNotFound', 'deleteSetProblem: delete another problem.';
403403

@@ -411,12 +411,12 @@ my $deleted_problem3 = $problem_rs->deleteSetProblem(
411411
# And check that it is sucessfully removed from the db.
412412
throws_ok {
413413
$problem_rs->getSetProblem(
414-
info => {
415-
course_name => 'Precalculus',
416-
set_name => 'HW #1',
417-
problem_number => $set_problem_to_delete->{problem_number},
418-
}
419-
);
414+
info => {
415+
course_name => 'Precalculus',
416+
set_name => 'HW #1',
417+
problem_number => $set_problem_to_delete->{problem_number},
418+
}
419+
);
420420
}
421421
'DB::Exception::SetProblemNotFound', 'deleteSetProblem: delete another problem.';
422422

t/db/013_problem_versions.t

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,11 @@ my $user_problem_v2_to_delete = $user_problem_rs->deleteUserProblem(
152152
throws_ok {
153153
$user_problem_rs->getUserProblem(
154154
info => {
155-
course_name => $user_problem1_v2_params->{course_name},
156-
set_name => $user_problem1_v2_params->{set_name},
157-
username => $user_problem1_v2_params->{username},
158-
problem_number => $user_problem1_v2_params->{problem_number},
159-
problem_version => $user_problem1_v2_params->{problem_version}
155+
course_name => $user_problem1_v2_params->{course_name},
156+
set_name => $user_problem1_v2_params->{set_name},
157+
username => $user_problem1_v2_params->{username},
158+
problem_number => $user_problem1_v2_params->{problem_number},
159+
problem_version => $user_problem1_v2_params->{problem_version}
160160
}
161161
)
162162
}
@@ -176,11 +176,11 @@ $user_problem_rs->deleteUserProblem(
176176
throws_ok {
177177
$user_problem_rs->getUserProblem(
178178
info => {
179-
course_name => $user_problem1_v3_params->{course_name},
180-
set_name => $user_problem1_v3_params->{set_name},
181-
username => $user_problem1_v3_params->{username},
182-
problem_number => $user_problem1_v3_params->{problem_number},
183-
problem_version => $user_problem1_v3_params->{problem_version}
179+
course_name => $user_problem1_v3_params->{course_name},
180+
set_name => $user_problem1_v3_params->{set_name},
181+
username => $user_problem1_v3_params->{username},
182+
problem_number => $user_problem1_v3_params->{problem_number},
183+
problem_version => $user_problem1_v3_params->{problem_version}
184184
}
185185
)
186186
}

t/mojolicious/002_courses.t

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,11 @@ $t->delete_ok('/webwork3/api/courses/9999999')->status_is(500, 'error status')
100100
->content_type_is('application/json;charset=UTF-8')->json_is('/exception' => 'DB::Exception::CourseNotFound');
101101

102102
# Delete the added course.
103-
$t->delete_ok("/webwork3/api/courses/$new_course_id")->status_is(200)
104-
->json_is('/course_name' => $new_course->{course_name});
103+
$t->delete_ok("/webwork3/api/courses/$new_course_id")->status_is(200);
104+
105+
# Check that it is deleted.
106+
$t->get_ok("/webwork3/api/courses/$new_course_id")->status_is(500)
107+
->json_is('/exception' => 'DB::Exception::CourseNotFound');
105108

106109
# Logout of the admin user account and relogin as a non-admin:
107110

t/mojolicious/003_users.t

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -147,13 +147,17 @@ $t->post_ok(
147147

148148
my $another_new_user_id = $t->tx->res->json('/user_id');
149149

150-
# For cleanup, delete the created users. Need to relogin as an admin:
151-
150+
# For cleanup, delete the created users.
152151
$t->delete_ok("/webwork3/api/users/$new_user_from_db->{user_id}")->status_is(200)
153-
->json_is('/username' => $new_user->{username});
152+
->content_type_is('application/json;charset=UTF-8');
153+
154+
# And check that the user is no longer in the db.
155+
$t->get_ok("/webwork3/api/users/$new_user_from_db->{user_id}")->status_is(500)
156+
->json_is('/exception' => 'DB::Exception::UserNotFound');
154157

155-
$t->delete_ok("/webwork3/api/users/$another_new_user_id")->status_is(200)
156-
->json_is('/username' => $another_user->{username});
158+
$t->delete_ok("/webwork3/api/users/$another_new_user_id")->status_is(200);
159+
$t->get_ok("/webwork3/api/users/$another_new_user_id")->status_is(500)
160+
->json_is('/exception' => 'DB::Exception::UserNotFound');
157161

158162
# Test that a non-admin user cannot access all of the routes
159163
# Logout the admin user and relogin as a non-admin.

t/mojolicious/004_course_users.t

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,11 @@ $t->delete_ok("/webwork3/api/courses/4/users/5")->status_is(500, 'status for exc
131131

132132
# Delete the added course user
133133
$t->delete_ok("/webwork3/api/courses/4/users/$new_user_id")->status_is(200)
134-
->content_type_is('application/json;charset=UTF-8')->json_is('/user_id' => $new_user_id);
134+
->content_type_is('application/json;charset=UTF-8');
135+
136+
# And make sure that the course user is no longer in the database;
137+
$t->get_ok("/webwork3/api/courses/4/users/$new_user_id")->status_is(500)
138+
->json_is('/exception' => 'DB::Exception::UserNotInCourse');
135139

136140
# Check that a student doesn't have the same access as an instructor
137141
# The user lisa is a student in the 'Topology' course (course_id => 3)
@@ -160,6 +164,9 @@ $t->post_ok('/webwork3/api/logout')->status_is(200);
160164
$t->post_ok('/webwork3/api/login' => json => { username => 'admin', password => 'admin' })->status_is(200);
161165

162166
# Delete the added users.
163-
$t->delete_ok("/webwork3/api/users/$new_user_id")->status_is(200)->json_is('/username' => $new_user->{username});
167+
$t->delete_ok("/webwork3/api/users/$new_user_id")->status_is(200);
168+
169+
# And check that the user is no longer in the db.
170+
$t->get_ok("/webwork3/api/users/$new_user_id")->status_is(500)->json_is('/exception' => 'DB::Exception::UserNotFound');
164171

165172
done_testing;

0 commit comments

Comments
 (0)