aboutsummaryrefslogtreecommitdiff
path: root/verify/delete_item.sql
blob: b1c3dd7642f50a124d2ea3349cc7a7cbfc32d11a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
-- Verify kakeibo:delete_item on pg

BEGIN;

SELECT has_function_privilege('kakeibo.delete_item(INTEGER)', 'EXECUTE');

SET search_path = kakeibo;

DO $$
  DECLARE
    v_transaction_id INTEGER;
    v_item_id INTEGER;
    v_item_id_2 INTEGER;
  BEGIN
    SELECT insert_transaction(0, '2023-03-15', 'テスト') INTO v_transaction_id;
    SELECT insert_item(v_transaction_id, 'カテ', 'サブカテ', 298, 'メモ') INTO v_item_id;
    SELECT insert_item(v_transaction_id, 'カテ', 'サブカテ', 298, 'メモ') INTO v_item_id_2;

    PERFORM * FROM items WHERE id = v_item_id;
    IF NOT FOUND THEN
      RAISE EXCEPTION 'Inserted data is not found.';
    END IF;

    PERFORM delete_item(v_item_id);
    PERFORM * FROM items WHERE id = v_item_id;
    IF FOUND THEN
      RAISE EXCEPTION 'Deleted data still exists.';
    END IF;

    PERFORM * FROM items WHERE id = v_item_id_2;
    IF NOT FOUND THEN
      RAISE EXCEPTION 'Unexpected delete data.';
    END IF;
  END
$$;

ROLLBACK;