]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/sql/Pg/live_t/calculate_system_penalties.pg
LP2061136 - Stamping 1405 DB upgrade script
[working/Evergreen.git] / Open-ILS / src / sql / Pg / live_t / calculate_system_penalties.pg
1 BEGIN;
2
3 SELECT plan(2);
4
5 --- Set the PATRON_EXCEEDS_OVERDUE_COUNT threshold to 1
6 UPDATE permission.grp_penalty_threshold AS pgpt
7     SET threshold=1
8     FROM config.standing_penalty AS csp
9     WHERE csp.name = 'PATRON_EXCEEDS_OVERDUE_COUNT'
10     AND csp.id=pgpt.penalty;
11
12 SELECT is_empty(
13     'SELECT * FROM actor.calculate_system_penalties(1, 7)',
14     'When no overdue items are out, the user does not get a PATRON_EXCEEDS_OVERDUE_COUNT penalty');
15
16 -- Add two overdue circulations to this patron's account, exceeding the threshold of 1
17 INSERT INTO action.circulation (usr, circ_lib, target_copy, due_date,
18     circ_staff, renewal_remaining, grace_period, duration_rule,
19     recurring_fine_rule, max_fine_rule)
20     VALUES (1, 7, 1857,  current_date - interval '2 year',
21         1, 1, '1 day', 1,
22         1, 1),
23         (1, 7, 1858,  current_date - interval '2 year',
24         1, 1, '1 day', 1,
25         1, 1);
26
27 SELECT is(
28     standing_penalty,
29     2, -- PATRON_EXCEEDS_OVERDUE_COUNT
30     'When over the PATRON_EXCEEDS_OVERDUE_COUNT threshold, it returns a PATRON_EXCEEDS_OVERDUE_COUNT penalty'
31 ) FROM actor.calculate_system_penalties(1, 7);
32
33 ROLLBACK;