Annotation: unit_tests.auto_verify_journal_test1
CREATE OR REPLACE FUNCTION unit_tests.auto_verify_journal_test1()
RETURNS test_result
Information: unit_tests.auto_verify_journal_test1
Schema | unit_tests |
Function Name | auto_verify_journal_test1 |
Arguments | |
Owner | postgres |
Result Type | test_result |
Description | |
Implementation: unit_tests.auto_verify_journal_test1
CREATE OR REPLACE FUNCTION unit_tests.auto_verify_journal_test1()
RETURNS test_result
LANGUAGE plpgsql
AS $function$
DECLARE _value_date date;
DECLARE _office_id integer;
DECLARE _user_id integer;
DECLARE _login_id bigint;
DECLARE _tran_id bigint;
DECLARE _verification_status_id smallint;
DECLARE message test_result;
BEGIN
PERFORM unit_tests.create_mock();
PERFORM unit_tests.sign_in_test();
_office_id := office.get_office_id_by_office_code('dummy-off01');
_value_date := transactions.get_value_date(_office_id);
_user_id := office.get_user_id_by_user_name('plpgunit-test-user-000001');
_login_id := office.get_login_id(_user_id);
PERFORM unit_tests.create_dummy_auto_verification_policy(office.get_user_id_by_user_name('plpgunit-test-user-000001'), true, 0, true, 0, true, 0, '1-1-2000', '1-1-2020', true);
_tran_id := nextval(pg_get_serial_sequence('transactions.transaction_master', 'transaction_master_id'));
INSERT INTO transactions.transaction_master
(
transaction_master_id,
transaction_counter,
transaction_code,
book,
value_date,
user_id,
login_id,
office_id,
reference_number,
statement_reference
)
SELECT
_tran_id,
transactions.get_new_transaction_counter(_value_date),
transactions.get_transaction_code(_value_date, _office_id, _user_id, 1),
'Journal',
_value_date,
_user_id,
_login_id,
_office_id,
'REF# TEST',
'Thou art not able to see this.';
INSERT INTO transactions.transaction_details
(
transaction_master_id,
value_date,
tran_type,
account_id,
statement_reference,
currency_code,
amount_in_currency,
local_currency_code,
er,
amount_in_local_currency
)
SELECT _tran_id, _value_date, 'Cr', core.get_account_id_by_account_number('dummy-acc01'), '', 'NPR', 12000, 'NPR', 1, 12000 UNION ALL
SELECT _tran_id, _value_date, 'Dr', core.get_account_id_by_account_number('dummy-acc02'), '', 'NPR', 3000, 'NPR', 1, 3000 UNION ALL
SELECT _tran_id, _value_date, 'Dr', core.get_account_id_by_account_number('dummy-acc03'), '', 'NPR', 9000, 'NPR', 1, 9000;
PERFORM transactions.auto_verify(currval(pg_get_serial_sequence('transactions.transaction_master', 'transaction_master_id')), office.get_office_id_by_office_code('dummy-off01'));
SELECT verification_status_id
INTO _verification_status_id
FROM transactions.transaction_master
WHERE transaction_master_id = _tran_id;
IF(_verification_status_id < 1) THEN
SELECT assert.fail('This transaction should have been verified.') INTO message;
RETURN message;
END IF;
SELECT assert.ok('End of test.') INTO message;
RETURN message;
END
$function$