LP 1198465: Initial tests for conditional negative balances
[working/Evergreen.git] / Open-ILS / src / sql / Pg / live_t / lp1198465_run_this_before_livetests.sql
1 BEGIN;
2
3 -- DATA FOR LIVE TESTING LP#1198465:
4 --   Support for Conditional Negative Balances
5 --
6 -- Assume stock data has been loaded.
7 --
8 -- Dates are relative when necessary; otherwise they may be hardcoded.
9 -- NOTE: Org unit settings will be handled in the perl code
10
11
12 -- user id: 4, name: Gregory Jones
13
14 -- Setup all LOST circs
15 UPDATE action.circulation SET
16     xact_start = '2014-05-14 08:39:13.070326-04',
17         due_date = '2014-05-21 23:59:59-04',
18         stop_fines_time = '2014-05-28 08:39:13.070326-04',
19         create_time = '2014-05-14 08:39:13.070326-04',
20         max_fine = '3.00',
21         stop_fines = 'LOST'
22 WHERE id >= 1 AND id <= 6;
23 UPDATE asset.copy SET status = 3 WHERE id >= 2 AND id <= 7;
24
25 -- Setup non-lost circ
26 UPDATE action.circulation SET
27         checkin_staff = NULL,
28         checkin_lib = NULL,
29         checkin_time = NULL,
30         checkin_scan_time = NULL,
31         stop_fines = NULL,
32         stop_fines_time = NULL
33 WHERE id = 7;
34 UPDATE asset.copy SET status = 1 WHERE id = 8;
35
36 -- Setup other LOST and overdue fines
37 INSERT INTO money.billing (id, xact, billing_ts, voided, voider, void_time, amount, billing_type, btype, note) VALUES
38     (DEFAULT, 1, '2014-05-28 08:39:13.070326-04', false, NULL, NULL, 50.00, 'Lost Materials', 3, 'SYSTEM GENERATED'),
39     (DEFAULT, 2, '2014-05-28 08:39:13.070326-04', false, NULL, NULL, 50.00, 'Lost Materials', 3, 'SYSTEM GENERATED'),
40     (DEFAULT, 3, '2014-05-28 08:39:13.070326-04', false, NULL, NULL, 50.00, 'Lost Materials', 3, 'SYSTEM GENERATED'),
41     (DEFAULT, 4, '2014-05-28 08:39:13.070326-04', false, NULL, NULL, 50.00, 'Lost Materials', 3, 'SYSTEM GENERATED'),
42     (DEFAULT, 5, '2014-05-28 08:39:13.070326-04', false, NULL, NULL, 50.00, 'Lost Materials', 3, 'SYSTEM GENERATED'),
43     (DEFAULT, 6, '2014-05-22 23:59:59-04', true, 1, '2014-05-28 08:39:13.070326-04', 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine'),
44     (DEFAULT, 6, '2014-05-23 23:59:59-04', true, 1, '2014-05-28 08:39:13.070326-04', 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine'),
45     (DEFAULT, 6, '2014-05-24 23:59:59-04', true, 1, '2014-05-28 08:39:13.070326-04', 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine'),
46     (DEFAULT, 6, '2014-05-25 23:59:59-04', true, 1, '2014-05-28 08:39:13.070326-04', 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine'),
47     (DEFAULT, 6, '2014-05-26 23:59:59-04', true, 1, '2014-05-28 08:39:13.070326-04', 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine'),
48     (DEFAULT, 6, '2014-05-27 23:59:59-04', true, 1, '2014-05-28 08:39:13.070326-04', 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine'),
49     (DEFAULT, 6, '2014-05-28 23:59:59-04', true, 1, '2014-05-28 08:39:13.070326-04', 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine'),
50     (DEFAULT, 6, '2014-05-28 08:39:13.070326-04', false, NULL, NULL, 50.00, 'Lost Materials', 3, 'SYSTEM GENERATED'),
51     (DEFAULT, 7, '2014-05-22 23:59:59-04', false, NULL, NULL, 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine'),
52     (DEFAULT, 7, '2014-05-23 23:59:59-04', false, NULL, NULL, 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine'),
53     (DEFAULT, 7, '2014-05-24 23:59:59-04', false, NULL, NULL, 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine'),
54     (DEFAULT, 7, '2014-05-25 23:59:59-04', false, NULL, NULL, 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine'),
55     (DEFAULT, 7, '2014-05-26 23:59:59-04', false, NULL, NULL, 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine'),
56     (DEFAULT, 7, '2014-05-27 23:59:59-04', false, NULL, NULL, 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine'),
57     (DEFAULT, 7, '2014-05-28 23:59:59-04', false, NULL, NULL, 0.10, 'Overdue materials', 1, 'System Generated Overdue Fine');
58
59 -- Setup two recently LOST items for Case 10: Interval Testing
60 -- - Item 1: Lost, paid more than 1 hour later, returned less than 1 hour after payment (via perl test)
61 -- - Item 2: Lost, paid more than 1 hour later, returned more than 1 hour after payment (via perl test)
62 UPDATE action.circulation SET
63         create_time = NOW() - '1 week'::interval,
64     xact_start = NOW() - '1 week'::interval,
65         due_date = NOW() + '1 day'::interval,
66         stop_fines_time = NOW() - '3 hours'::interval,
67         max_fine = '3.00',
68         stop_fines = 'LOST'
69 WHERE id IN (8, 9);
70 UPDATE asset.copy SET status = 3 WHERE id IN (9, 10);
71
72 INSERT INTO money.billing (id, xact, billing_ts, voided, voider, void_time, amount, billing_type, btype, note) VALUES
73     (DEFAULT, 8, NOW() - '2 hours'::interval, false, NULL, NULL, 50.00, 'Lost Materials', 3, 'SYSTEM GENERATED'),
74     (DEFAULT, 9, NOW() - '4 hours'::interval, false, NULL, NULL, 50.00, 'Lost Materials', 3, 'SYSTEM GENERATED');
75
76 INSERT INTO money.payment (id, xact, payment_ts, voided, amount, note) VALUES
77         (DEFAULT, 8, NOW() - '30 minutes'::interval, false, 50.00, 'LOST payment'),
78         (DEFAULT, 9, NOW() - '2 hours'::interval, false, 50.00, 'LOST payment');
79
80
81 COMMIT;