BEGIN; SELECT plan(4); ------------------------- -- Setup test environment -- User w/ library card -- Vandelay settings (merge profile, queue) -- "Pre-loaded" bib record to be overlayed -- Matching bib record added to Vandelay queue -- including 905u with user barcode ------------------------- INSERT INTO actor.usr (profile, ident_type, usrname, home_ou, family_name, passwd, first_given_name, expire_date, dob, suffix) VALUES (13, 1, 'TEST_USER', 1, 'TESTER', 'TEST1234', 'TEST', NOW() + '3 years'::INTERVAL, NULL, NULL); INSERT INTO actor.card (barcode, usr) VALUES ('TEST_BARCODE', CURRVAL('actor.usr_id_seq')); UPDATE actor.usr SET card = CURRVAL('actor.card_id_seq') WHERE id = CURRVAL('actor.usr_id_seq'); INSERT INTO vandelay.merge_profile (owner, name, preserve_spec) VALUES (1, 'TEST', '901c'); --XXX: Do we need to create a custom item_attr_def? -- If def 1 was deleted from an install, this will break INSERT INTO vandelay.bib_queue (owner, name, item_attr_def) VALUES (CURRVAL('actor.usr_id_seq'), 'TEST', 1); INSERT INTO biblio.record_entry (id, edit_date, last_xact_id, marc) VALUES (1234512345, now() - '15 days'::INTERVAL, 'TEST', '00374nam a22001212 4500A101401-214316420140506000000.09780199588480 (Trade Paper)USD 11.95 ListHaigh, JohnAuthorProbabilityOxford University Press, Incorporated2012-05-04144 p.16..84 l. X 11..63 w. in.biblio'); INSERT INTO vandelay.queued_bib_record (queue, bib_source, purpose, marc) SELECT CURRVAL('vandelay.queue_id_seq'), 2, 'overlay', '00374nam a22001212 4500A101401-214316420140506000000.09780199588480 (Trade Paper)USD 11.95 ListHaigh, JohnAuthorProbabilityOxford University Press, Incorporated2012-05-04144 p.16..84 l. X 11..63 w. in.biblio1234512345' || barcode || '' FROM actor.card WHERE id = CURRVAL('actor.card_id_seq'); ----------------------- -- Import the record -- ----------------------- SELECT ok( ( SELECT vandelay.overlay_bib_record( queued_record, eg_record, CURRVAL('vandelay.merge_profile_id_seq')::int ) FROM vandelay.bib_match WHERE queued_record = CURRVAL('vandelay.queued_record_id_seq') ), 'Function call succeeded' ); --------------------------------- -- Test for new values of editor, -- edit date, and source --------------------------------- SELECT is( (SELECT editor::bigint FROM biblio.record_entry ORDER BY id DESC LIMIT 1), CURRVAL('actor.usr_id_seq'), 'Editor was updated' ); SELECT is( (SELECT edit_date::date FROM biblio.record_entry ORDER BY id DESC LIMIT 1), CURRENT_DATE, 'Edit Date was updated' ); SELECT is( (SELECT source FROM biblio.record_entry ORDER BY id DESC LIMIT 1), 2, 'Record source was updated' ); ROLLBACK;