Annotation: unit_tests.auto_verify_purchase_test2
CREATE OR REPLACE FUNCTION unit_tests.auto_verify_purchase_test2()
RETURNS test_result
Information: unit_tests.auto_verify_purchase_test2
Schema | unit_tests |
Function Name | auto_verify_purchase_test2 |
Arguments | |
Owner | postgres |
Result Type | test_result |
Description | |
Implementation: unit_tests.auto_verify_purchase_test2
CREATE OR REPLACE FUNCTION unit_tests.auto_verify_purchase_test2()
RETURNS test_result
LANGUAGE plpgsql
AS $function$
DECLARE _value_date date;
DECLARE _tran_id bigint;
DECLARE _verification_status_id smallint;
DECLARE _book_name national character varying(12)='Sales.Direct';
DECLARE _office_id integer;
DECLARE _user_id integer;
DECLARE _login_id bigint;
DECLARE _cost_center_id integer;
DECLARE _reference_number national character varying(24)='Plpgunit.fixture';
DECLARE _statement_reference text='Plpgunit test was here.';
DECLARE _is_credit boolean=false;
DECLARE _payment_term_id integer;
DECLARE _party_code national character varying(12);
DECLARE _price_type_id integer;
DECLARE _shipper_id integer;
DECLARE _store_id integer;
DECLARE _is_non_taxable_sales boolean=true;
DECLARE _tran_ids bigint[];
DECLARE _details transactions.stock_detail_type[];
DECLARE _attachments core.attachment_type[];
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');
_user_id := office.get_user_id_by_user_name('plpgunit-test-user-000001');
_login_id := office.get_login_id(_user_id);
_value_date := transactions.get_value_date(_office_id);
_cost_center_id := office.get_cost_center_id_by_cost_center_code('dummy-cs01');
_party_code := 'dummy-pr01';
_price_type_id := core.get_price_type_id_by_price_type_code('dummy-pt01');
_shipper_id := core.get_shipper_id_by_shipper_code('dummy-sh01');
_store_id := office.get_store_id_by_store_code('dummy-st01');
_details := ARRAY[
ROW(_store_id, 'dummy-it01', 1, 'Test Mock Unit',180000, 0, 0, '', 0)::transactions.stock_detail_type,
ROW(_store_id, 'dummy-it02', 2, 'Test Mock Unit',130000, 300, 0, '', 0)::transactions.stock_detail_type];
PERFORM unit_tests.create_dummy_auto_verification_policy(office.get_user_id_by_user_name('plpgunit-test-user-000001'), true, 0, true, 100, true, 0, '1-1-2000', '1-1-2000', true);
SELECT * FROM transactions.post_purchase
(
_book_name,_office_id, _user_id, _login_id, _value_date, _cost_center_id, _reference_number, _statement_reference,
_is_credit, _party_code, _price_type_id, _shipper_id,
_store_id, _tran_ids, _details, _attachments
) INTO _tran_id;
SELECT verification_status_id
INTO _verification_status_id
FROM transactions.transaction_master
WHERE transaction_master_id = _tran_id;
IF(_verification_status_id > 0) THEN
SELECT assert.fail('This transaction should not have been verified.') INTO message;
RETURN message;
END IF;
SELECT assert.ok('End of test.') INTO message;
RETURN message;
END
$function$