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

BEGIN;

SELECT has_function_privilege('kakeibo.assign_article_to_transaction(INTEGER, TEXT)', 'execute');

DO $$
DECLARE
  v_transaction_id INTEGER;
  v_article_id INTEGER;
  v_location TEXT;
BEGIN
  SELECT md5(random()::TEXT) INTO v_location;
  SELECT kakeibo.insert_transaction(0, '2023-03-09', 'テスト') INTO v_transaction_id;
  INSERT INTO kakeibo.articles (location, title)
  VALUES (v_location, 'テストタイトル') RETURNING id INTO v_article_id;
  PERFORM kakeibo.assign_article_to_transaction(v_transaction_id, v_location);

  PERFORM 1 from kakeibo.transactions
   WHERE id = v_transaction_id
     AND article_id = v_article_id;
  IF NOT FOUND THEN
    RAISE EXCEPTION 'Fail assign_artilce_to_transaction';
  END IF;
END $$;

ROLLBACK;