|
Lines 49-55
subtest 'Test Koha::Patron::Message::Preferences' => sub {
Link Here
|
| 49 |
my $attribute = build_a_test_attribute(); |
49 |
my $attribute = build_a_test_attribute(); |
| 50 |
|
50 |
|
| 51 |
subtest 'Test for a patron' => sub { |
51 |
subtest 'Test for a patron' => sub { |
| 52 |
plan tests => 2; |
52 |
plan tests => 3; |
| 53 |
|
53 |
|
| 54 |
my $patron = build_a_test_patron(); |
54 |
my $patron = build_a_test_patron(); |
| 55 |
Koha::Patron::Message::Preference->new({ |
55 |
Koha::Patron::Message::Preference->new({ |
|
Lines 66-71
subtest 'Test Koha::Patron::Message::Preferences' => sub {
Link Here
|
| 66 |
ok($preference->borrower_message_preference_id > 0, |
66 |
ok($preference->borrower_message_preference_id > 0, |
| 67 |
'Added a new messaging preference for patron.'); |
67 |
'Added a new messaging preference for patron.'); |
| 68 |
|
68 |
|
|
|
69 |
subtest 'Test set not throwing an exception on duplicate object' => sub { |
| 70 |
plan tests => 1; |
| 71 |
|
| 72 |
Koha::Patron::Message::Attributes->find({ |
| 73 |
message_attribute_id => $attribute->message_attribute_id |
| 74 |
})->set({ takes_days => 1 })->store; |
| 75 |
$preference->set({ days_in_advance => 1 })->store; |
| 76 |
is(ref($preference), 'Koha::Patron::Message::Preference', |
| 77 |
'Updating the preference does not cause duplicate object exception'); |
| 78 |
}; |
| 79 |
|
| 69 |
$preference->delete; |
80 |
$preference->delete; |
| 70 |
is(Koha::Patron::Message::Preferences->search({ |
81 |
is(Koha::Patron::Message::Preferences->search({ |
| 71 |
borrowernumber => $patron->borrowernumber, |
82 |
borrowernumber => $patron->borrowernumber, |
|
Lines 100-106
subtest 'Test Koha::Patron::Message::Preferences' => sub {
Link Here
|
| 100 |
}; |
111 |
}; |
| 101 |
|
112 |
|
| 102 |
subtest 'Test adding a new preference with invalid parameters' => sub { |
113 |
subtest 'Test adding a new preference with invalid parameters' => sub { |
| 103 |
plan tests => 3; |
114 |
plan tests => 4; |
| 104 |
|
115 |
|
| 105 |
subtest 'Missing parameters' => sub { |
116 |
subtest 'Missing parameters' => sub { |
| 106 |
plan tests => 1; |
117 |
plan tests => 1; |
|
Lines 178-183
subtest 'Test adding a new preference with invalid parameters' => sub {
Link Here
|
| 178 |
|
189 |
|
| 179 |
$schema->storage->txn_rollback; |
190 |
$schema->storage->txn_rollback; |
| 180 |
}; |
191 |
}; |
|
|
192 |
|
| 193 |
subtest 'Duplicate object' => sub { |
| 194 |
plan tests => 2; |
| 195 |
|
| 196 |
$schema->storage->txn_begin; |
| 197 |
|
| 198 |
my $attribute = build_a_test_attribute(); |
| 199 |
my $patron = build_a_test_patron(); |
| 200 |
my $preference = Koha::Patron::Message::Preference->new({ |
| 201 |
borrowernumber => $patron->borrowernumber, |
| 202 |
message_attribute_id => $attribute->message_attribute_id, |
| 203 |
wants_digest => 0, |
| 204 |
days_in_advance => undef, |
| 205 |
})->store; |
| 206 |
ok($preference->borrower_message_preference_id, |
| 207 |
'Added a new messaging preference for patron.'); |
| 208 |
eval { Koha::Patron::Message::Preference->new({ |
| 209 |
borrowernumber => $patron->borrowernumber, |
| 210 |
message_attribute_id => $attribute->message_attribute_id, |
| 211 |
wants_digest => 0, |
| 212 |
days_in_advance => undef, |
| 213 |
})->store }; |
| 214 |
is(ref $@, 'Koha::Exceptions::DuplicateObject', |
| 215 |
'Adding a duplicate preference' |
| 216 |
.' => Koha::Exceptions::DuplicateObject'); |
| 217 |
|
| 218 |
$schema->storage->txn_rollback; |
| 219 |
}; |
| 181 |
}; |
220 |
}; |
| 182 |
|
221 |
|
| 183 |
sub build_a_test_attribute { |
222 |
sub build_a_test_attribute { |
| 184 |
- |
|
|