@@ -14,15 +14,13 @@ BEGIN {
14
14
use lib " $main::ww3_dir /lib" ;
15
15
use lib " $main::ww3_dir /t/lib" ;
16
16
17
- use Test::More;
18
- use Test::Exception;
17
+ use Test2::V0;
19
18
use YAML::XS qw/ LoadFile/ ;
20
- use DateTime::Format::Strptime;
21
- use Mojo::JSON qw/ true false/ ;
19
+ use Mojo::JSON qw/ true/ ;
22
20
23
21
use DB::Schema;
24
22
25
- use TestUtils qw/ loadCSV removeIDs loadSchema / ;
23
+ use TestUtils qw/ loadCSV removeIDs/ ;
26
24
27
25
# Load the database
28
26
my $config_file = " $main::ww3_dir /conf/webwork3-test.yml" ;
@@ -34,7 +32,6 @@ my $schema = DB::Schema->connect(
34
32
$config -> {database_password },
35
33
{ quote_names => 1 }
36
34
);
37
- my $strp = DateTime::Format::Strptime-> new(pattern => ' %F' , on_error => ' croak' );
38
35
39
36
my $course_rs = $schema -> resultset(' Course' );
40
37
@@ -56,56 +53,56 @@ my @courses_from_db = $course_rs->getCourses;
56
53
for my $course (@courses_from_db ) { removeIDs($course ); }
57
54
@courses_from_db = sortByCourseName(\@courses_from_db );
58
55
59
- is_deeply (\@courses_from_db , \@courses , ' getCourses: get all courses' );
56
+ is (\@courses_from_db , \@courses , ' getCourses: get all courses' );
60
57
61
- # # Get a single course by name
58
+ # Get a single course by name
62
59
my $course = $course_rs -> getCourse(info => { course_name => ' Calculus' });
63
60
64
61
my $calc_id = $course -> {course_id };
65
62
delete $course -> {course_id };
66
63
my @calc_courses = grep { $_ -> {course_name } eq ' Calculus' } @courses ;
67
- is_deeply ($course , $calc_courses [0], ' getCourse: get a single course by name' );
64
+ is ($course , $calc_courses [0], ' getCourse: get a single course by name' );
68
65
69
66
# Get a single course by course_id
70
67
$course = $course_rs -> getCourse(info => { course_id => $calc_id });
71
68
delete $course -> {course_id };
72
- is_deeply ($course , $calc_courses [0], ' getCourse: get a single course by id' );
69
+ is ($course , $calc_courses [0], ' getCourse: get a single course by id' );
73
70
74
71
# Try to get a single course by sending proper info:
75
- throws_ok {
76
- $course_rs -> getCourse(info => { course_id => $calc_id , course_name => ' Calculus' });
77
- }
78
- ' DB::Exception::ParametersNeeded' , ' getCourse: sends too much info' ;
72
+ is(
73
+ dies { $course_rs -> getCourse(info => { course_id => $calc_id , course_name => ' Calculus' }); },
74
+ check_isa(' DB::Exception::ParametersNeeded' ),
75
+ ' getCourse: sends too much info'
76
+ );
79
77
80
- throws_ok {
81
- $course_rs -> getCourse(info => { name => ' Calculus' });
82
- }
83
- ' DB::Exception::ParametersNeeded' , ' getCourse: sends wrong info' ;
78
+ is(
79
+ dies { $course_rs -> getCourse(info => { name => ' Calculus' }); },
80
+ check_isa(' DB::Exception::ParametersNeeded' ),
81
+ ' getCourse: sends wrong info'
82
+ );
84
83
85
84
# Try to get a single course that doesn't exist
86
- throws_ok {
87
- $course_rs -> getCourse(info => { course_name => ' non_existent_course' });
88
- }
89
- ' DB::Exception::CourseNotFound' , ' getCourse: get a non-existent course' ;
85
+ is(
86
+ dies { $course_rs -> getCourse(info => { course_name => ' non_existent_course' }); },
87
+ check_isa(' DB::Exception::CourseNotFound' ),
88
+ ' getCourse: get a non-existent course'
89
+ );
90
90
91
91
# Add a course
92
- my $new_course_params = {
93
- course_name => ' Geometry' ,
94
- visible => true,
95
- course_dates => {}
96
- };
92
+ my $new_course_params = { course_name => ' Geometry' , visible => true, course_dates => {} };
97
93
98
94
my $new_course = $course_rs -> addCourse(params => $new_course_params );
99
95
my $added_course_id = $new_course -> {course_id };
100
96
removeIDs($new_course );
101
97
102
- is_deeply( $new_course_params , $new_course , ' addCourse: add a new course' );
98
+ is( $new_course , $new_course_params , ' addCourse: add a new course' );
103
99
104
100
# Add a course that already exists
105
- throws_ok {
106
- $course_rs -> addCourse(params => { course_name => ' Geometry' , visible => 1 });
107
- }
108
- ' DB::Exception::CourseAlreadyExists' , ' addCourse: course already exists' ;
101
+ is(
102
+ dies { $course_rs -> addCourse(params => { course_name => ' Geometry' , visible => true }); },
103
+ check_isa(' DB::Exception::CourseAlreadyExists' ),
104
+ ' addCourse: course already exists'
105
+ );
109
106
110
107
# Update the course name
111
108
my $updated_course = $course_rs -> updateCourse(
@@ -116,36 +113,40 @@ my $updated_course = $course_rs->updateCourse(
116
113
$new_course_params -> {course_name } = ' Geometry II' ;
117
114
delete $updated_course -> {course_id };
118
115
119
- is_deeply( $new_course_params , $updated_course , ' updateCourse: update a course by name' );
116
+ is( $updated_course , $new_course_params , ' updateCourse: update a course by name' );
120
117
121
118
# Try to update an non-existent course
122
- throws_ok {
123
- $course_rs -> updateCourse(info => { course_name => ' non_existent_course' });
124
- }
125
- ' DB::Exception::CourseNotFound' , ' updateCourse: update a non-existent course_name' ;
119
+ is(
120
+ dies { $course_rs -> updateCourse(info => { course_name => ' non_existent_course' }); },
121
+ check_isa(' DB::Exception::CourseNotFound' ),
122
+ ' updateCourse: update a non-existent course_name'
123
+ );
126
124
127
- throws_ok {
128
- $course_rs -> updateCourse(info => { course_id => -9 }, params => $new_course_params );
129
- }
130
- ' DB::Exception::CourseNotFound' , ' updateCourse: update a non-existent course_id' ;
125
+ is(
126
+ dies { $course_rs -> updateCourse(info => { course_id => -9 }, params => $new_course_params ); },
127
+ check_isa(' DB::Exception::CourseNotFound' ),
128
+ ' updateCourse: update a non-existent course_id'
129
+ );
131
130
132
131
# Delete a course
133
132
my $deleted_course = $course_rs -> deleteCourse(info => { course_name => ' Geometry II' });
134
133
removeIDs($deleted_course );
135
134
136
- is_deeply( $new_course_params , $deleted_course , ' deleteCourse: delete a course' );
135
+ is( $deleted_course , $new_course_params , ' deleteCourse: delete a course' );
137
136
138
137
# Try to delete a non-existent course by name
139
- throws_ok {
140
- $course_rs -> deleteCourse(info => { course_name => ' undefined_name' })
141
- }
142
- ' DB::Exception::CourseNotFound' , ' deleteCourse: delete a non-existent course_name' ;
138
+ is(
139
+ dies { $course_rs -> deleteCourse(info => { course_name => ' undefined_name' }) },
140
+ check_isa(' DB::Exception::CourseNotFound' ),
141
+ ' deleteCourse: delete a non-existent course_name'
142
+ );
143
143
144
144
# Try to delete a non-existent course by id
145
- throws_ok {
146
- $course_rs -> deleteCourse(info => { course_id => -9 })
147
- }
148
- ' DB::Exception::CourseNotFound' , ' deleteCourse: delete a non-existent course_id' ;
145
+ is(
146
+ dies { $course_rs -> deleteCourse(info => { course_id => -9 }) },
147
+ check_isa(' DB::Exception::CourseNotFound' ),
148
+ ' deleteCourse: delete a non-existent course_id'
149
+ );
149
150
150
151
sub sortByCourseName {
151
152
my $course_rs = shift ;
@@ -158,7 +159,6 @@ sub sortByCourseName {
158
159
for my $course (@courses_from_db ) { removeIDs($course ); }
159
160
@courses_from_db = sortByCourseName(\@courses_from_db );
160
161
161
- is_deeply (\@courses_from_db , \@courses , ' check: courses db table is returned to its original state.' );
162
+ is (\@courses_from_db , \@courses , ' check: courses db table is returned to its original state.' );
162
163
163
164
done_testing();
164
-
0 commit comments