aboutsummaryrefslogtreecommitdiff
path: root/verify/insert_item.sql
blob: f1ce2122c667fb5839d6e6c1a61eac41aafd01d1 (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
-- Verify kakeibo:insert_item on pg

BEGIN;

SELECT has_function_privilege('kakeibo.insert_item(INTEGER, TEXT, TEXT, INTEGER, TEXT)', 'EXECUTE');

SET search_path = kakeibo;

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

    PERFORM *
      FROM items
      WHERE id = v_item_id
      AND transaction_id = v_transaction_id
      AND category = 'カテ'
      AND subcategory = 'サブカテ'
      AND amount = 298
      AND note = 'メモ';
    IF NOT FOUND THEN
      RAISE EXCEPTION 'Inserted data is not found.';
    END IF;
  END
$$;

ROLLBACK;