LP#1569884: add regression test
[Evergreen.git] / Open-ILS / src / sql / Pg / t / regress / lp1569884_readd_deleted_bmp.sql
1 BEGIN;
2
3 SELECT plan(4);
4
5 INSERT INTO biblio.record_entry (id, last_xact_id, marc)
6 VALUES (999999998, 'pgtap', '<record    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"    xmlns="http://www.loc.gov/MARC21/slim">
7   <leader>00531nam a2200157 a 4500</leader>
8   <controlfield tag="005">20080729170300.0</controlfield>
9   <controlfield tag="008">      t19981999enka              0 eng  </controlfield>
10   <datafield tag="245" ind1="1" ind2="4">
11     <subfield code="a">test-value</subfield>
12   </datafield>
13 </record>');
14
15 INSERT INTO biblio.monograph_part(record, label) VALUES (999999998, 'Part 1');
16
17 SELECT is(
18     label,
19     'Part 1',
20     'LP#1569884: new monograph parts start out active'
21 )
22 FROM biblio.monograph_part
23 WHERE record = 999999998
24 AND NOT deleted;
25
26 DELETE FROM biblio.monograph_part WHERE record = 999999998;
27
28 SELECT is(
29     deleted,
30     TRUE,
31     'LP#1569884: deleting monograph part sets deleted flag'
32 )
33 FROM biblio.monograph_part
34 WHERE record = 999999998
35 AND label = 'Part 1';
36
37 SELECT lives_ok(
38     $$INSERT INTO biblio.monograph_part(record, label) VALUES (999999998, 'Part 1')$$,
39     'LP#1569884: can add monograph part with same label as logically deleted one'
40 );
41
42 SELECT is(
43     COUNT(*)::INT,
44     1,
45     'LP#1569884: one active part with label Part 1'
46 )
47 FROM biblio.monograph_part
48 WHERE record = 999999998
49 AND label = 'Part 1'
50 AND NOT deleted;
51
52 ROLLBACK;