Annotation: unit_tests.create_dummy_items

CREATE OR REPLACE FUNCTION unit_tests.create_dummy_items()
RETURNS void

Information: unit_tests.create_dummy_items

Schema unit_tests
Function Name create_dummy_items
Arguments
Owner postgres
Result Type void
Description

Implementation: unit_tests.create_dummy_items

CREATE OR REPLACE FUNCTION unit_tests.create_dummy_items()
 RETURNS void
 LANGUAGE plpgsql
AS $function$
    DECLARE _dummy_unit_id integer;
BEGIN
    IF NOT EXISTS(SELECT 1 FROM core.items WHERE item_code='dummy-it01') THEN

        _dummy_unit_id := core.get_unit_id_by_unit_code('dummy-uni01');
    
        INSERT INTO core.items
        (
            item_code, 
            item_name, 
            item_group_id,
            item_type_id,
            brand_id,
            preferred_supplier_id,
            lead_time_in_days,
            unit_id,
            hot_item,
            cost_price,
            selling_price,
            sales_tax_id,
            reorder_unit_id,
            reorder_level,
            reorder_quantity,
            maintain_stock
        )
        SELECT 
            'dummy-it01'                                            AS item_code, 
            'Test Mock Item'                                        AS item_name,
            core.get_item_group_id_by_item_group_code('dummy-ig01') AS item_group_id,
            core.get_item_type_id_by_item_type_code('dummy-it01')   AS item_type_id,
            core.get_brand_id_by_brand_code('dummy-br01')           AS brand_id, 
            core.get_party_id_by_party_code('dummy-pr01')           AS preferred_supplier_id,
            10                                                      AS lead_time,
            _dummy_unit_id                                          AS unit_id,
            false                                                   AS hot_item,
            3000                                                    AS cost_price,
            4000                                                    AS selling_price,
            core.get_sales_tax_id_by_sales_tax_code('dummy-stx01')  AS sales_tax_id,
            _dummy_unit_id                                          AS reorder_unit_id,
            10                                                      AS reorder_level,
            100                                                     AS reorder_quantity,
            false                                                   AS maintain_stock
        UNION ALL
        SELECT 
            'dummy-it02'                                            AS item_code, 
            'Test Mock Item2'                                       AS item_name,
            core.get_item_group_id_by_item_group_code('dummy-ig01') AS item_group_id,
            core.get_item_type_id_by_item_type_code('dummy-it01')   AS item_type_id,
            core.get_brand_id_by_brand_code('dummy-br01')           AS brand_id, 
            core.get_party_id_by_party_code('dummy-pr01')           AS preferred_supplier_id,
            17                                                      AS lead_time,
            _dummy_unit_id                                          AS unit_id,
            false                                                   AS hot_item,
            1400                                                    AS cost_price,
            1800                                                    AS selling_price,
            core.get_sales_tax_id_by_sales_tax_code('dummy-stx01')  AS sales_tax_id,
            _dummy_unit_id                                          AS reorder_unit_id,
            10                                                      AS reorder_level,
            50                                                      AS reorder_quantity,
            false                                                   AS maintain_stock;        
    END IF;

    RETURN;
END
$function$