LP#1501471: add some unit tests for batch OU retrieval
authorGalen Charlton <gmc@esilibrary.com>
Wed, 4 Nov 2015 21:27:14 +0000 (21:27 +0000)
committerBill Erickson <berickxx@gmail.com>
Thu, 5 Nov 2015 14:23:40 +0000 (09:23 -0500)
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/sql/Pg/live_t/aous_batch.pg [new file with mode: 0644]

diff --git a/Open-ILS/src/sql/Pg/live_t/aous_batch.pg b/Open-ILS/src/sql/Pg/live_t/aous_batch.pg
new file mode 100644 (file)
index 0000000..4a0dabd
--- /dev/null
@@ -0,0 +1,31 @@
+BEGIN;
+
+SELECT plan(3);
+
+INSERT INTO config.org_unit_setting_type (name, label) VALUES ('foo', 'Turn on foo');
+INSERT INTO config.org_unit_setting_type (name, label) VALUES ('bar', 'Turn on bar');
+
+INSERT INTO actor.org_unit_setting (org_unit, name, value) VALUES (1, 'foo', '"foo 1"');
+INSERT INTO actor.org_unit_setting (org_unit, name, value) VALUES (2, 'foo', '"foo 2"');
+INSERT INTO actor.org_unit_setting (org_unit, name, value) VALUES (2, 'bar', '"bar 2"');
+
+SELECT results_eq(
+    $$ SELECT name, value FROM actor.org_unit_ancestor_setting_batch(1, 'foo', 'bar') $$,
+    $$ VALUES ('foo', '"foo 1"') $$,
+    'can retrieve batch of org unit settings'
+);
+
+SELECT results_eq(
+    $$ SELECT name, value FROM actor.org_unit_ancestor_setting_batch(2, 'foo', 'bar') $$,
+    $$ VALUES ('foo', '"foo 2"'), ('bar', '"bar 2"') $$,
+    'can retrieve batch of org unit settings at lower level'
+);
+
+DELETE FROM actor.org_unit_setting WHERE name = 'foo' AND org_unit = 2;
+SELECT results_eq(
+    $$ SELECT name, value FROM actor.org_unit_ancestor_setting_batch(2, 'foo', 'bar') $$,
+    $$ VALUES ('foo', '"foo 1"'), ('bar', '"bar 2"') $$,
+    'can retrieve batch of org unit settings with fallback'
+);
+
+ROLLBACK;