File: 217_dbt_unit_testing_csv.sql

package info (click to toggle)
sqlfmt 0.29.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,580 kB
  • sloc: python: 10,007; sql: 5,626; makefile: 39
file content (145 lines) | stat: -rw-r--r-- 4,427 bytes parent folder | download
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
{% call dbt_unit_testing.test('customers', 'should sum order values to calculate customer_lifetime_value') %}
  
  {% call dbt_unit_testing.mock_ref ('stg_customers', {"input_format": "csv"}) %}
    customer_id, first_name, last_name
    1,'',''
  {% endcall %}
  
  {% call dbt_unit_testing.mock_ref ('stg_orders', {"input_format": "csv"}) %}
    order_id,customer_id,order_date
    1001,1,null
    1002,1,null
  {% endcall %}
  
  {% call dbt_unit_testing.mock_ref ('stg_payments', {"input_format": "csv"}) %}
    order_id,amount
    1001,10
    1002,10
  {% endcall %}

  {% call dbt_unit_testing.expect({"input_format": "csv"}) %}
    customer_id,customer_lifetime_value
    1,20
  {% endcall %}
{% endcall %}

{% call dbt_unit_testing.test('customers', 'should sum order values to calculate customer_lifetime_value') %}
  
  {% call dbt_unit_testing.mock_ref ('stg_customers', {"input_format": "csv"}) %}
    customer_id | first_name | last_name
    1           | ''         | ''
  {% endcall %}
  
  {% call dbt_unit_testing.mock_ref ('stg_orders', {"input_format": "csv"}) %}
    order_id | customer_id | order_date 
    1        | 1           | null
    2        | 1           | null
  {% endcall %}
  
  {% call dbt_unit_testing.mock_ref ('stg_payments', {"input_format": "csv"}) %}
    order_id | amount
    1        | 10
    2        | 10
  {% endcall %}

  {% call dbt_unit_testing.expect({"input_format": "csv"}) %}
    customer_id | customer_lifetime_value
    1           | 20
  {% endcall %}
{% endcall %}

{% call dbt_unit_testing.test('customers', 'should show customer_id without orders') %}
  {% call dbt_unit_testing.mock_ref ('stg_customers') %}
    select 1 as customer_id, '' as first_name, '' as last_name
  {% endcall %}

  {% call dbt_unit_testing.mock_ref ('stg_orders') %}
    select null::numeric as customer_id, null::numeric as order_id, null as order_date  
    where false
  {% endcall %}

  {% call dbt_unit_testing.mock_ref ('stg_payments') %}
     select null::numeric as order_id, null::numeric as amount 
     where false
  {% endcall %}
  
  {% call dbt_unit_testing.expect() %}
    select 1 as customer_id
  {% endcall %}
{% endcall %}
)))))__SQLFMT_OUTPUT__(((((
{% call dbt_unit_testing.test(
    "customers",
    "should sum order values to calculate customer_lifetime_value"
) %}

    {% call dbt_unit_testing.mock_ref("stg_customers", {"input_format": "csv"}) %}
    customer_id, first_name, last_name
    1,'',''
    {% endcall %}

    {% call dbt_unit_testing.mock_ref("stg_orders", {"input_format": "csv"}) %}
    order_id,customer_id,order_date
    1001,1,null
    1002,1,null
    {% endcall %}

    {% call dbt_unit_testing.mock_ref("stg_payments", {"input_format": "csv"}) %}
    order_id,amount
    1001,10
    1002,10
    {% endcall %}

    {% call dbt_unit_testing.expect({"input_format": "csv"}) %}
    customer_id,customer_lifetime_value
    1,20
    {% endcall %}
{% endcall %}

{% call dbt_unit_testing.test(
    "customers",
    "should sum order values to calculate customer_lifetime_value"
) %}

    {% call dbt_unit_testing.mock_ref("stg_customers", {"input_format": "csv"}) %}
    customer_id | first_name | last_name
    1           | ''         | ''
    {% endcall %}

    {% call dbt_unit_testing.mock_ref("stg_orders", {"input_format": "csv"}) %}
    order_id | customer_id | order_date 
    1        | 1           | null
    2        | 1           | null
    {% endcall %}

    {% call dbt_unit_testing.mock_ref("stg_payments", {"input_format": "csv"}) %}
    order_id | amount
    1        | 10
    2        | 10
    {% endcall %}

    {% call dbt_unit_testing.expect({"input_format": "csv"}) %}
    customer_id | customer_lifetime_value
    1           | 20
    {% endcall %}
{% endcall %}

{% call dbt_unit_testing.test("customers", "should show customer_id without orders") %}
    {% call dbt_unit_testing.mock_ref("stg_customers") %}
    select 1 as customer_id, '' as first_name, '' as last_name
    {% endcall %}

    {% call dbt_unit_testing.mock_ref("stg_orders") %}
    select null::numeric as customer_id, null::numeric as order_id, null as order_date  
    where false
    {% endcall %}

    {% call dbt_unit_testing.mock_ref("stg_payments") %}
     select null::numeric as order_id, null::numeric as amount 
     where false
    {% endcall %}

    {% call dbt_unit_testing.expect() %}
    select 1 as customer_id
    {% endcall %}
{% endcall %}