snf_core 0.2.95 → 0.2.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/snf_core/auth_controller.rb +0 -42
- data/app/models/snf_core/quotation.rb +41 -0
- data/app/models/snf_core/user.rb +18 -19
- data/app/models/snf_core/virtual_account.rb +4 -4
- data/app/models/snf_core/virtual_account_transaction.rb +10 -10
- data/config/routes.rb +0 -3
- data/db/migrate/20250310122954_create_snf_core_virtual_accounts.rb +1 -1
- data/db/migrate/20250310143604_create_snf_core_item_requests.rb +5 -5
- data/db/migrate/20250312043359_create_snf_core_quotations.rb +14 -0
- data/lib/snf_core/version.rb +1 -1
- data/spec/dummy/db/schema.rb +14 -1
- data/spec/dummy/log/development.log +798 -0
- data/spec/dummy/log/test.log +16434 -0
- data/spec/dummy/tmp/storage/39/fi/39fibqwgi0xq9xbood6b68hlp4af +0 -0
- data/spec/dummy/tmp/storage/5m/j8/5mj8ypl6zxx8g3h7vqmu4p2la4pk +0 -0
- data/spec/dummy/tmp/storage/7u/5y/7u5ymxnw5e2jbr7037m2eth7qdkl +0 -0
- data/spec/dummy/tmp/storage/dw/75/dw75t7gej4irzb3hcqssl8w5vhde +0 -0
- data/spec/dummy/tmp/storage/dz/dq/dzdq3gkuy7tdiue1yqmciu86nzfg +0 -0
- data/spec/dummy/tmp/storage/iz/eu/izeu0nc2gf1beo8nvl7iblxc46oj +0 -0
- data/spec/dummy/tmp/storage/j4/ln/j4lnbjjufbp59yxsdetbqs0cyjia +0 -0
- data/spec/dummy/tmp/storage/l8/1u/l81unawd0p9c61x8k6ofq0y227yt +0 -0
- data/spec/dummy/tmp/storage/oh/ls/ohlsxs36tio52r2ydrbzez1u0w26 +0 -0
- data/spec/dummy/tmp/storage/qq/vt/qqvtf3h8ge74ce67gghth8ivch0g +0 -0
- data/spec/dummy/tmp/storage/uy/sl/uyslcroe2rycfyrrb5bhsfodzg5y +0 -0
- data/spec/dummy/tmp/storage/v5/c9/v5c9opt3yikmy2gwg4ftmde0vyt5 +0 -0
- data/spec/dummy/tmp/storage/za/ov/zaov1yasuhakxa5olzoed94khnf8 +0 -0
- data/spec/dummy/tmp/storage/zc/d6/zcd6d4lsb12obz7m7r6240qka8xw +0 -0
- data/spec/dummy/tmp/storage/zq/ts/zqtsmjmvozdu6y5i5d1n3kb9q0vw +0 -0
- data/spec/examples.txt +196 -189
- data/spec/factories/snf_core/quotations.rb +10 -0
- data/spec/models/snf_core/item_request_spec.rb +2 -2
- data/spec/models/snf_core/quotation_spec.rb +54 -0
- data/spec/models/snf_core/user_spec.rb +18 -19
- data/spec/models/snf_core/virtual_account_spec.rb +0 -1
- data/spec/models/snf_core/virtual_account_transaction_spec.rb +1 -1
- data/spec/requests/snf_core/auth_spec.rb +0 -84
- metadata +21 -2
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/spec/examples.txt
CHANGED
@@ -1,192 +1,199 @@
|
|
1
1
|
example_id | status | run_time |
|
2
2
|
------------------------------------------------------------------- | ------- | --------------- |
|
3
|
-
./spec/mailers/snf_core/auth_mailer_spec.rb[1:1] | pending | 0.
|
4
|
-
./spec/models/snf_core/account_transfer_spec.rb[1:1] | passed | 0.
|
5
|
-
./spec/models/snf_core/account_transfer_spec.rb[1:2] | passed | 0.
|
6
|
-
./spec/models/snf_core/account_transfer_spec.rb[1:3] | passed | 0.
|
7
|
-
./spec/models/snf_core/account_transfer_spec.rb[1:4] | passed | 0.
|
8
|
-
./spec/models/snf_core/account_transfer_spec.rb[1:5] | passed | 0.
|
9
|
-
./spec/models/snf_core/account_transfer_spec.rb[1:6] | passed | 0.
|
10
|
-
./spec/models/snf_core/account_transfer_spec.rb[1:7] | passed | 0.
|
11
|
-
./spec/models/snf_core/account_transfer_spec.rb[1:8] | passed | 0.
|
12
|
-
./spec/models/snf_core/account_transfer_spec.rb[1:9] | passed | 0.
|
13
|
-
./spec/models/snf_core/account_transfer_spec.rb[1:10] | passed | 0.
|
14
|
-
./spec/models/snf_core/account_transfer_spec.rb[1:11:1] | passed | 0.
|
15
|
-
./spec/models/snf_core/account_transfer_spec.rb[1:11:2] | passed | 0.
|
16
|
-
./spec/models/snf_core/address_spec.rb[1:1] | passed | 0.
|
17
|
-
./spec/models/snf_core/address_spec.rb[1:2] | passed | 0.
|
18
|
-
./spec/models/snf_core/address_spec.rb[1:3] | passed | 0.
|
19
|
-
./spec/models/snf_core/address_spec.rb[1:4] | passed | 0.
|
20
|
-
./spec/models/snf_core/address_spec.rb[1:5] | passed | 0.
|
21
|
-
./spec/models/snf_core/address_spec.rb[1:6] | passed | 0.
|
22
|
-
./spec/models/snf_core/address_spec.rb[1:7] | passed | 0.
|
23
|
-
./spec/models/snf_core/address_spec.rb[1:8] | passed | 0.
|
24
|
-
./spec/models/snf_core/business_document_spec.rb[1:1] | passed |
|
25
|
-
./spec/models/snf_core/business_document_spec.rb[1:2] | passed | 0.
|
26
|
-
./spec/models/snf_core/business_document_spec.rb[1:3] | passed | 0.
|
27
|
-
./spec/models/snf_core/business_document_spec.rb[1:4] | passed | 0.
|
28
|
-
./spec/models/snf_core/business_document_spec.rb[1:5] | passed | 0.
|
29
|
-
./spec/models/snf_core/business_spec.rb[1:1] | passed | 0.
|
30
|
-
./spec/models/snf_core/business_spec.rb[1:2] | passed | 0.
|
31
|
-
./spec/models/snf_core/business_spec.rb[1:3] | passed | 0.
|
32
|
-
./spec/models/snf_core/business_spec.rb[1:4] | passed | 0.
|
33
|
-
./spec/models/snf_core/business_spec.rb[1:5] | passed | 0.
|
34
|
-
./spec/models/snf_core/business_spec.rb[1:6] | passed | 0.
|
35
|
-
./spec/models/snf_core/business_spec.rb[1:7] | passed | 0.
|
36
|
-
./spec/models/snf_core/category_spec.rb[1:1] | passed | 0.
|
37
|
-
./spec/models/snf_core/category_spec.rb[1:2] | passed | 0.
|
38
|
-
./spec/models/snf_core/category_spec.rb[1:3] | passed | 0.
|
39
|
-
./spec/models/snf_core/category_spec.rb[1:4] | passed | 0.
|
40
|
-
./spec/models/snf_core/customer_group_spec.rb[1:1] | passed | 0.
|
41
|
-
./spec/models/snf_core/customer_group_spec.rb[1:2] | passed | 0.
|
42
|
-
./spec/models/snf_core/customer_group_spec.rb[1:3] | passed | 0.
|
43
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:1] | passed | 0.
|
44
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:2] | passed | 0.
|
45
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:3] | passed | 0.
|
46
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:4] | passed | 0.
|
47
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:5] | passed | 0.
|
48
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:6] | passed | 0.
|
49
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:7] | passed | 0.
|
50
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:8:1] | passed | 0.
|
51
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:8:2] | passed | 0.
|
52
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:8:3] | passed | 0.
|
53
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:8:4] | passed | 0.
|
54
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:8:5] | passed | 0.
|
55
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:8:6] | passed | 0.
|
56
|
-
./spec/models/snf_core/delivery_order_spec.rb[1:8:7] | passed | 0.
|
57
|
-
./spec/models/snf_core/group_spec.rb[1:1] | passed | 0.
|
58
|
-
./spec/models/snf_core/group_spec.rb[1:2] | passed | 0.
|
59
|
-
./spec/models/snf_core/group_spec.rb[1:3] | passed | 0.
|
60
|
-
./spec/models/snf_core/item_request_spec.rb[1:1] | passed | 0.
|
61
|
-
./spec/models/snf_core/item_request_spec.rb[1:2] | passed | 0.
|
62
|
-
./spec/models/snf_core/item_request_spec.rb[1:3] | passed | 0.
|
63
|
-
./spec/models/snf_core/item_request_spec.rb[1:4] | passed | 0.
|
64
|
-
./spec/models/snf_core/item_request_spec.rb[1:5] | passed | 0.
|
65
|
-
./spec/models/snf_core/item_request_spec.rb[1:6] | passed | 0.
|
66
|
-
./spec/models/snf_core/item_request_spec.rb[1:7] | passed | 0.
|
67
|
-
./spec/models/snf_core/item_request_spec.rb[1:8:1] | passed | 0.
|
68
|
-
./spec/models/snf_core/item_request_spec.rb[1:8:2] | passed | 0.
|
69
|
-
./spec/models/snf_core/item_request_spec.rb[1:9:1] | passed | 0.
|
70
|
-
./spec/models/snf_core/item_request_spec.rb[1:9:2] | passed | 0.
|
71
|
-
./spec/models/snf_core/order_item_spec.rb[1:1] | passed | 0.
|
72
|
-
./spec/models/snf_core/order_item_spec.rb[1:2] | passed | 0.
|
73
|
-
./spec/models/snf_core/order_item_spec.rb[1:3] | passed | 0.
|
74
|
-
./spec/models/snf_core/order_item_spec.rb[1:4] | passed | 0.
|
75
|
-
./spec/models/snf_core/order_item_spec.rb[1:5] | passed | 0.
|
76
|
-
./spec/models/snf_core/order_item_spec.rb[1:6] | passed | 0.
|
77
|
-
./spec/models/snf_core/order_item_spec.rb[1:7] | passed | 0.
|
78
|
-
./spec/models/snf_core/order_item_spec.rb[1:8:1] | passed | 0.
|
79
|
-
./spec/models/snf_core/order_item_spec.rb[1:8:2] | passed | 0.
|
80
|
-
./spec/models/snf_core/order_item_spec.rb[1:8:3] | passed | 0.
|
81
|
-
./spec/models/snf_core/order_item_spec.rb[1:9:1] | passed | 0.
|
82
|
-
./spec/models/snf_core/order_item_spec.rb[1:9:2] | passed | 0.
|
83
|
-
./spec/models/snf_core/order_item_spec.rb[1:10:1] | passed | 0.
|
84
|
-
./spec/models/snf_core/order_item_spec.rb[1:10:2] | passed | 0.
|
85
|
-
./spec/models/snf_core/order_spec.rb[1:1] | passed | 0.
|
86
|
-
./spec/models/snf_core/order_spec.rb[1:2] | passed | 0.
|
87
|
-
./spec/models/snf_core/order_spec.rb[1:3] | passed | 0.
|
88
|
-
./spec/models/snf_core/order_spec.rb[1:4] | passed | 0.
|
89
|
-
./spec/models/snf_core/order_spec.rb[1:5] | passed | 0.
|
90
|
-
./spec/models/snf_core/order_spec.rb[1:6] | passed | 0.
|
91
|
-
./spec/models/snf_core/order_spec.rb[1:7:1] | passed | 0.
|
92
|
-
./spec/models/snf_core/order_spec.rb[1:7:2] | passed | 0.
|
93
|
-
./spec/models/snf_core/order_spec.rb[1:7:3] | passed | 0.
|
94
|
-
./spec/models/snf_core/order_spec.rb[1:7:4] | passed | 0.
|
95
|
-
./spec/models/snf_core/order_spec.rb[1:7:5] | passed | 0.
|
96
|
-
./spec/models/snf_core/order_spec.rb[1:7:6] | passed | 0.
|
97
|
-
./spec/models/snf_core/order_spec.rb[1:8:1] | passed | 0.
|
98
|
-
./spec/models/snf_core/order_spec.rb[1:8:2] | passed | 0.
|
99
|
-
./spec/models/snf_core/order_spec.rb[1:8:3] | passed | 0.
|
100
|
-
./spec/models/snf_core/product_spec.rb[1:1] | passed | 0.
|
101
|
-
./spec/models/snf_core/product_spec.rb[1:2] | passed | 0.
|
102
|
-
./spec/models/snf_core/product_spec.rb[1:3] | passed | 0.
|
103
|
-
./spec/models/snf_core/product_spec.rb[1:4] | passed | 0.
|
104
|
-
./spec/models/snf_core/product_spec.rb[1:5:1] | passed | 0.
|
105
|
-
./spec/models/snf_core/product_spec.rb[1:5:2] | passed | 0.
|
106
|
-
./spec/models/snf_core/
|
107
|
-
./spec/models/snf_core/
|
108
|
-
./spec/models/snf_core/
|
109
|
-
./spec/models/snf_core/
|
110
|
-
./spec/models/snf_core/
|
111
|
-
./spec/models/snf_core/
|
112
|
-
./spec/models/snf_core/
|
113
|
-
./spec/models/snf_core/
|
114
|
-
./spec/models/snf_core/
|
115
|
-
./spec/models/snf_core/
|
116
|
-
./spec/models/snf_core/
|
117
|
-
./spec/models/snf_core/
|
118
|
-
./spec/models/snf_core/
|
119
|
-
./spec/models/snf_core/
|
120
|
-
./spec/models/snf_core/
|
121
|
-
./spec/models/snf_core/
|
122
|
-
./spec/models/snf_core/
|
123
|
-
./spec/models/snf_core/
|
124
|
-
./spec/models/snf_core/
|
125
|
-
./spec/models/snf_core/
|
126
|
-
./spec/models/snf_core/
|
127
|
-
./spec/models/snf_core/
|
128
|
-
./spec/models/snf_core/
|
129
|
-
./spec/models/snf_core/
|
130
|
-
./spec/models/snf_core/
|
131
|
-
./spec/models/snf_core/
|
132
|
-
./spec/models/snf_core/
|
133
|
-
./spec/models/snf_core/
|
134
|
-
./spec/models/snf_core/
|
135
|
-
./spec/models/snf_core/
|
136
|
-
./spec/models/snf_core/
|
137
|
-
./spec/models/snf_core/
|
138
|
-
./spec/models/snf_core/
|
139
|
-
./spec/models/snf_core/
|
140
|
-
./spec/models/snf_core/
|
141
|
-
./spec/models/snf_core/
|
142
|
-
./spec/models/snf_core/
|
143
|
-
./spec/models/snf_core/
|
144
|
-
./spec/models/snf_core/
|
145
|
-
./spec/models/snf_core/
|
146
|
-
./spec/models/snf_core/
|
147
|
-
./spec/models/snf_core/
|
148
|
-
./spec/models/snf_core/virtual_account_spec.rb[1:
|
149
|
-
./spec/models/snf_core/virtual_account_spec.rb[1:
|
150
|
-
./spec/models/snf_core/virtual_account_spec.rb[1:
|
3
|
+
./spec/mailers/snf_core/auth_mailer_spec.rb[1:1] | pending | 0.00002 seconds |
|
4
|
+
./spec/models/snf_core/account_transfer_spec.rb[1:1] | passed | 0.0165 seconds |
|
5
|
+
./spec/models/snf_core/account_transfer_spec.rb[1:2] | passed | 0.0196 seconds |
|
6
|
+
./spec/models/snf_core/account_transfer_spec.rb[1:3] | passed | 0.02181 seconds |
|
7
|
+
./spec/models/snf_core/account_transfer_spec.rb[1:4] | passed | 0.02016 seconds |
|
8
|
+
./spec/models/snf_core/account_transfer_spec.rb[1:5] | passed | 0.02073 seconds |
|
9
|
+
./spec/models/snf_core/account_transfer_spec.rb[1:6] | passed | 0.01879 seconds |
|
10
|
+
./spec/models/snf_core/account_transfer_spec.rb[1:7] | passed | 0.0186 seconds |
|
11
|
+
./spec/models/snf_core/account_transfer_spec.rb[1:8] | passed | 0.02076 seconds |
|
12
|
+
./spec/models/snf_core/account_transfer_spec.rb[1:9] | passed | 0.01794 seconds |
|
13
|
+
./spec/models/snf_core/account_transfer_spec.rb[1:10] | passed | 0.04989 seconds |
|
14
|
+
./spec/models/snf_core/account_transfer_spec.rb[1:11:1] | passed | 0.0198 seconds |
|
15
|
+
./spec/models/snf_core/account_transfer_spec.rb[1:11:2] | passed | 0.01937 seconds |
|
16
|
+
./spec/models/snf_core/address_spec.rb[1:1] | passed | 0.00375 seconds |
|
17
|
+
./spec/models/snf_core/address_spec.rb[1:2] | passed | 0.00354 seconds |
|
18
|
+
./spec/models/snf_core/address_spec.rb[1:3] | passed | 0.00354 seconds |
|
19
|
+
./spec/models/snf_core/address_spec.rb[1:4] | passed | 0.00673 seconds |
|
20
|
+
./spec/models/snf_core/address_spec.rb[1:5] | passed | 0.01025 seconds |
|
21
|
+
./spec/models/snf_core/address_spec.rb[1:6] | passed | 0.00461 seconds |
|
22
|
+
./spec/models/snf_core/address_spec.rb[1:7] | passed | 0.00619 seconds |
|
23
|
+
./spec/models/snf_core/address_spec.rb[1:8] | passed | 0.00512 seconds |
|
24
|
+
./spec/models/snf_core/business_document_spec.rb[1:1] | passed | 1.05 seconds |
|
25
|
+
./spec/models/snf_core/business_document_spec.rb[1:2] | passed | 0.02979 seconds |
|
26
|
+
./spec/models/snf_core/business_document_spec.rb[1:3] | passed | 0.05143 seconds |
|
27
|
+
./spec/models/snf_core/business_document_spec.rb[1:4] | passed | 0.05202 seconds |
|
28
|
+
./spec/models/snf_core/business_document_spec.rb[1:5] | passed | 0.02755 seconds |
|
29
|
+
./spec/models/snf_core/business_spec.rb[1:1] | passed | 0.00934 seconds |
|
30
|
+
./spec/models/snf_core/business_spec.rb[1:2] | passed | 0.00976 seconds |
|
31
|
+
./spec/models/snf_core/business_spec.rb[1:3] | passed | 0.009 seconds |
|
32
|
+
./spec/models/snf_core/business_spec.rb[1:4] | passed | 0.01012 seconds |
|
33
|
+
./spec/models/snf_core/business_spec.rb[1:5] | passed | 0.00874 seconds |
|
34
|
+
./spec/models/snf_core/business_spec.rb[1:6] | passed | 0.00847 seconds |
|
35
|
+
./spec/models/snf_core/business_spec.rb[1:7] | passed | 0.00719 seconds |
|
36
|
+
./spec/models/snf_core/category_spec.rb[1:1] | passed | 0.00268 seconds |
|
37
|
+
./spec/models/snf_core/category_spec.rb[1:2] | passed | 0.0116 seconds |
|
38
|
+
./spec/models/snf_core/category_spec.rb[1:3] | passed | 0.00444 seconds |
|
39
|
+
./spec/models/snf_core/category_spec.rb[1:4] | passed | 0.0072 seconds |
|
40
|
+
./spec/models/snf_core/customer_group_spec.rb[1:1] | passed | 0.01374 seconds |
|
41
|
+
./spec/models/snf_core/customer_group_spec.rb[1:2] | passed | 0.01562 seconds |
|
42
|
+
./spec/models/snf_core/customer_group_spec.rb[1:3] | passed | 0.02816 seconds |
|
43
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:1] | passed | 0.01762 seconds |
|
44
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:2] | passed | 0.0198 seconds |
|
45
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:3] | passed | 0.01931 seconds |
|
46
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:4] | passed | 0.02091 seconds |
|
47
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:5] | passed | 0.01814 seconds |
|
48
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:6] | passed | 0.01861 seconds |
|
49
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:7] | passed | 0.05341 seconds |
|
50
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:8:1] | passed | 0.01661 seconds |
|
51
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:8:2] | passed | 0.01787 seconds |
|
52
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:8:3] | passed | 0.01881 seconds |
|
53
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:8:4] | passed | 0.02639 seconds |
|
54
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:8:5] | passed | 0.02202 seconds |
|
55
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:8:6] | passed | 0.0341 seconds |
|
56
|
+
./spec/models/snf_core/delivery_order_spec.rb[1:8:7] | passed | 0.04818 seconds |
|
57
|
+
./spec/models/snf_core/group_spec.rb[1:1] | passed | 0.00936 seconds |
|
58
|
+
./spec/models/snf_core/group_spec.rb[1:2] | passed | 0.00948 seconds |
|
59
|
+
./spec/models/snf_core/group_spec.rb[1:3] | passed | 0.02713 seconds |
|
60
|
+
./spec/models/snf_core/item_request_spec.rb[1:1] | passed | 0.01088 seconds |
|
61
|
+
./spec/models/snf_core/item_request_spec.rb[1:2] | passed | 0.01053 seconds |
|
62
|
+
./spec/models/snf_core/item_request_spec.rb[1:3] | passed | 0.01038 seconds |
|
63
|
+
./spec/models/snf_core/item_request_spec.rb[1:4] | passed | 0.0125 seconds |
|
64
|
+
./spec/models/snf_core/item_request_spec.rb[1:5] | passed | 0.02343 seconds |
|
65
|
+
./spec/models/snf_core/item_request_spec.rb[1:6] | passed | 0.01197 seconds |
|
66
|
+
./spec/models/snf_core/item_request_spec.rb[1:7] | passed | 0.01101 seconds |
|
67
|
+
./spec/models/snf_core/item_request_spec.rb[1:8:1] | passed | 0.00345 seconds |
|
68
|
+
./spec/models/snf_core/item_request_spec.rb[1:8:2] | passed | 0.00337 seconds |
|
69
|
+
./spec/models/snf_core/item_request_spec.rb[1:9:1] | passed | 0.00984 seconds |
|
70
|
+
./spec/models/snf_core/item_request_spec.rb[1:9:2] | passed | 0.00992 seconds |
|
71
|
+
./spec/models/snf_core/order_item_spec.rb[1:1] | passed | 0.03511 seconds |
|
72
|
+
./spec/models/snf_core/order_item_spec.rb[1:2] | passed | 0.03409 seconds |
|
73
|
+
./spec/models/snf_core/order_item_spec.rb[1:3] | passed | 0.03285 seconds |
|
74
|
+
./spec/models/snf_core/order_item_spec.rb[1:4] | passed | 0.03397 seconds |
|
75
|
+
./spec/models/snf_core/order_item_spec.rb[1:5] | passed | 0.03973 seconds |
|
76
|
+
./spec/models/snf_core/order_item_spec.rb[1:6] | passed | 0.03422 seconds |
|
77
|
+
./spec/models/snf_core/order_item_spec.rb[1:7] | passed | 0.03481 seconds |
|
78
|
+
./spec/models/snf_core/order_item_spec.rb[1:8:1] | passed | 0.00808 seconds |
|
79
|
+
./spec/models/snf_core/order_item_spec.rb[1:8:2] | passed | 0.03535 seconds |
|
80
|
+
./spec/models/snf_core/order_item_spec.rb[1:8:3] | passed | 0.03754 seconds |
|
81
|
+
./spec/models/snf_core/order_item_spec.rb[1:9:1] | passed | 0.00824 seconds |
|
82
|
+
./spec/models/snf_core/order_item_spec.rb[1:9:2] | passed | 0.01114 seconds |
|
83
|
+
./spec/models/snf_core/order_item_spec.rb[1:10:1] | passed | 0.03473 seconds |
|
84
|
+
./spec/models/snf_core/order_item_spec.rb[1:10:2] | passed | 0.03545 seconds |
|
85
|
+
./spec/models/snf_core/order_spec.rb[1:1] | passed | 0.01807 seconds |
|
86
|
+
./spec/models/snf_core/order_spec.rb[1:2] | passed | 0.01757 seconds |
|
87
|
+
./spec/models/snf_core/order_spec.rb[1:3] | passed | 0.01804 seconds |
|
88
|
+
./spec/models/snf_core/order_spec.rb[1:4] | passed | 0.01604 seconds |
|
89
|
+
./spec/models/snf_core/order_spec.rb[1:5] | passed | 0.01595 seconds |
|
90
|
+
./spec/models/snf_core/order_spec.rb[1:6] | passed | 0.02377 seconds |
|
91
|
+
./spec/models/snf_core/order_spec.rb[1:7:1] | passed | 0.01484 seconds |
|
92
|
+
./spec/models/snf_core/order_spec.rb[1:7:2] | passed | 0.01604 seconds |
|
93
|
+
./spec/models/snf_core/order_spec.rb[1:7:3] | passed | 0.01703 seconds |
|
94
|
+
./spec/models/snf_core/order_spec.rb[1:7:4] | passed | 0.01826 seconds |
|
95
|
+
./spec/models/snf_core/order_spec.rb[1:7:5] | passed | 0.01867 seconds |
|
96
|
+
./spec/models/snf_core/order_spec.rb[1:7:6] | passed | 0.03271 seconds |
|
97
|
+
./spec/models/snf_core/order_spec.rb[1:8:1] | passed | 0.08779 seconds |
|
98
|
+
./spec/models/snf_core/order_spec.rb[1:8:2] | passed | 0.03901 seconds |
|
99
|
+
./spec/models/snf_core/order_spec.rb[1:8:3] | passed | 0.01777 seconds |
|
100
|
+
./spec/models/snf_core/product_spec.rb[1:1] | passed | 0.00428 seconds |
|
101
|
+
./spec/models/snf_core/product_spec.rb[1:2] | passed | 0.01483 seconds |
|
102
|
+
./spec/models/snf_core/product_spec.rb[1:3] | passed | 0.00687 seconds |
|
103
|
+
./spec/models/snf_core/product_spec.rb[1:4] | passed | 0.0062 seconds |
|
104
|
+
./spec/models/snf_core/product_spec.rb[1:5:1] | passed | 0.00404 seconds |
|
105
|
+
./spec/models/snf_core/product_spec.rb[1:5:2] | passed | 0.00407 seconds |
|
106
|
+
./spec/models/snf_core/quotation_spec.rb[1:1] | passed | 0.01411 seconds |
|
107
|
+
./spec/models/snf_core/quotation_spec.rb[1:2] | passed | 0.02429 seconds |
|
108
|
+
./spec/models/snf_core/quotation_spec.rb[1:3] | passed | 0.02368 seconds |
|
109
|
+
./spec/models/snf_core/quotation_spec.rb[1:4] | passed | 0.01325 seconds |
|
110
|
+
./spec/models/snf_core/quotation_spec.rb[1:5] | passed | 0.01407 seconds |
|
111
|
+
./spec/models/snf_core/quotation_spec.rb[1:6] | passed | 0.01513 seconds |
|
112
|
+
./spec/models/snf_core/quotation_spec.rb[1:7] | passed | 0.062 seconds |
|
113
|
+
./spec/models/snf_core/quotation_spec.rb[1:8:1] | passed | 0.00444 seconds |
|
114
|
+
./spec/models/snf_core/quotation_spec.rb[1:8:2] | passed | 0.00373 seconds |
|
115
|
+
./spec/models/snf_core/quotation_spec.rb[1:8:3] | passed | 0.00423 seconds |
|
116
|
+
./spec/models/snf_core/quotation_spec.rb[1:9:1] | passed | 0.0142 seconds |
|
117
|
+
./spec/models/snf_core/quotation_spec.rb[1:9:2] | passed | 0.01559 seconds |
|
118
|
+
./spec/models/snf_core/role_spec.rb[1:1] | passed | 0.00425 seconds |
|
119
|
+
./spec/models/snf_core/role_spec.rb[1:2] | passed | 0.01051 seconds |
|
120
|
+
./spec/models/snf_core/role_spec.rb[1:3] | passed | 0.00444 seconds |
|
121
|
+
./spec/models/snf_core/role_spec.rb[1:4] | passed | 0.00451 seconds |
|
122
|
+
./spec/models/snf_core/role_spec.rb[1:5] | passed | 0.00228 seconds |
|
123
|
+
./spec/models/snf_core/store_inventory_spec.rb[1:1] | passed | 0.04445 seconds |
|
124
|
+
./spec/models/snf_core/store_inventory_spec.rb[1:2] | passed | 0.02122 seconds |
|
125
|
+
./spec/models/snf_core/store_inventory_spec.rb[1:3] | passed | 0.01618 seconds |
|
126
|
+
./spec/models/snf_core/store_inventory_spec.rb[1:4] | passed | 0.01918 seconds |
|
127
|
+
./spec/models/snf_core/store_inventory_spec.rb[1:5] | passed | 0.02495 seconds |
|
128
|
+
./spec/models/snf_core/store_inventory_spec.rb[1:6] | passed | 0.02988 seconds |
|
129
|
+
./spec/models/snf_core/store_inventory_spec.rb[1:7:1] | passed | 0.01695 seconds |
|
130
|
+
./spec/models/snf_core/store_spec.rb[1:1] | passed | 0.01039 seconds |
|
131
|
+
./spec/models/snf_core/store_spec.rb[1:2] | passed | 0.01056 seconds |
|
132
|
+
./spec/models/snf_core/store_spec.rb[1:3] | passed | 0.01091 seconds |
|
133
|
+
./spec/models/snf_core/store_spec.rb[1:4] | passed | 0.01038 seconds |
|
134
|
+
./spec/models/snf_core/store_spec.rb[1:5] | passed | 0.00995 seconds |
|
135
|
+
./spec/models/snf_core/user_role_spec.rb[1:1] | passed | 0.0101 seconds |
|
136
|
+
./spec/models/snf_core/user_role_spec.rb[1:2] | passed | 0.0221 seconds |
|
137
|
+
./spec/models/snf_core/user_role_spec.rb[1:3] | passed | 0.00988 seconds |
|
138
|
+
./spec/models/snf_core/user_spec.rb[1:1] | passed | 0.00642 seconds |
|
139
|
+
./spec/models/snf_core/user_spec.rb[1:2] | passed | 0.00832 seconds |
|
140
|
+
./spec/models/snf_core/user_spec.rb[1:3] | passed | 0.00819 seconds |
|
141
|
+
./spec/models/snf_core/user_spec.rb[1:4] | passed | 0.00904 seconds |
|
142
|
+
./spec/models/snf_core/user_spec.rb[1:5] | passed | 0.00799 seconds |
|
143
|
+
./spec/models/snf_core/user_spec.rb[1:6] | passed | 0.0077 seconds |
|
144
|
+
./spec/models/snf_core/user_spec.rb[1:7] | passed | 0.008 seconds |
|
145
|
+
./spec/models/snf_core/user_spec.rb[1:8] | passed | 0.00802 seconds |
|
146
|
+
./spec/models/snf_core/user_spec.rb[1:9] | passed | 0.02142 seconds |
|
147
|
+
./spec/models/snf_core/user_spec.rb[1:10] | passed | 0.00635 seconds |
|
148
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:1] | passed | 0.00974 seconds |
|
149
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:2] | passed | 0.00894 seconds |
|
150
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:3] | passed | 0.01556 seconds |
|
151
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:4] | passed | 0.01258 seconds |
|
152
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:5] | passed | 0.01215 seconds |
|
153
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:6] | passed | 0.01376 seconds |
|
154
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:7] | passed | 0.00912 seconds |
|
155
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:8] | passed | 0.00987 seconds |
|
156
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:9] | passed | 0.01021 seconds |
|
157
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:10] | passed | 0.00999 seconds |
|
158
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:11] | passed | 0.01119 seconds |
|
159
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:12] | passed | 0.01176 seconds |
|
160
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:13] | passed | 0.01173 seconds |
|
161
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:14] | passed | 0.01097 seconds |
|
162
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:15:1] | passed | 0.00428 seconds |
|
151
163
|
./spec/models/snf_core/virtual_account_spec.rb[1:15:2] | passed | 0.00416 seconds |
|
152
|
-
./spec/models/snf_core/virtual_account_spec.rb[1:15:3] | passed | 0.
|
153
|
-
./spec/models/snf_core/virtual_account_spec.rb[1:15:4] | passed | 0.
|
154
|
-
./spec/models/snf_core/virtual_account_spec.rb[1:15:5] | passed | 0.
|
155
|
-
./spec/models/snf_core/virtual_account_spec.rb[1:15:6] | passed | 0.
|
156
|
-
./spec/models/snf_core/virtual_account_spec.rb[1:16:1] | passed | 0.
|
157
|
-
./spec/models/snf_core/virtual_account_spec.rb[1:16:2] | passed | 0.
|
158
|
-
./spec/models/snf_core/virtual_account_spec.rb[1:16:3] | passed | 0.
|
159
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:1] | passed | 0.
|
160
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:2] | passed | 0.
|
161
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:3] | passed | 0.
|
162
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:4] | passed | 0.
|
163
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:5] | passed | 0.
|
164
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:6] | passed | 0.
|
165
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:7] | passed | 0.
|
166
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:8:1:1] | passed | 0.
|
167
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:8:1:2] | passed | 0.
|
168
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:8:1:3] | passed | 0.
|
169
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:8:1:4] | passed | 0.
|
170
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:8:2:1] | passed | 0.
|
171
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:8:2:2] | passed | 0.
|
172
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:9:1] | passed | 0.
|
173
|
-
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:10:1] | passed | 0.
|
174
|
-
./spec/models/snf_core/wallet_spec.rb[1:1] | passed | 0.
|
175
|
-
./spec/models/snf_core/wallet_spec.rb[1:2] | passed | 0.
|
176
|
-
./spec/models/snf_core/wallet_spec.rb[1:3] | passed | 0.
|
177
|
-
./spec/models/snf_core/wallet_spec.rb[1:4] | passed | 0.
|
178
|
-
./spec/models/snf_core/wallet_spec.rb[1:5] | passed | 0.
|
179
|
-
./spec/models/snf_core/wallet_spec.rb[1:6:1] | passed | 0.
|
180
|
-
./spec/models/snf_core/wallet_spec.rb[1:6:2] | passed | 0.
|
181
|
-
./spec/requests/snf_core/auth_spec.rb[1:1:1:1] | passed | 0.
|
182
|
-
./spec/requests/snf_core/auth_spec.rb[1:1:2:1] | passed | 0.
|
183
|
-
./spec/requests/snf_core/auth_spec.rb[1:1:2:2] | passed | 0.
|
184
|
-
./spec/requests/snf_core/auth_spec.rb[1:1:2:3] | passed | 0.
|
185
|
-
./spec/requests/snf_core/auth_spec.rb[1:2:1:1] | passed | 0.
|
186
|
-
./spec/requests/snf_core/auth_spec.rb[1:
|
187
|
-
./spec/
|
188
|
-
./spec/requests/snf_core/auth_spec.rb[1:4:1:1] | passed | 0.02754 seconds |
|
189
|
-
./spec/requests/snf_core/auth_spec.rb[1:4:2:1] | passed | 0.00999 seconds |
|
190
|
-
./spec/requests/snf_core/auth_spec.rb[1:5:1:1] | passed | 0.93234 seconds |
|
191
|
-
./spec/requests/snf_core/auth_spec.rb[1:5:2:1] | passed | 0.00958 seconds |
|
192
|
-
./spec/sample_spec.rb[1:1] | passed | 0.00071 seconds |
|
164
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:15:3] | passed | 0.00406 seconds |
|
165
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:15:4] | passed | 0.0042 seconds |
|
166
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:15:5] | passed | 0.0132 seconds |
|
167
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:15:6] | passed | 0.00364 seconds |
|
168
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:16:1] | passed | 0.00741 seconds |
|
169
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:16:2] | passed | 0.0123 seconds |
|
170
|
+
./spec/models/snf_core/virtual_account_spec.rb[1:16:3] | passed | 0.0273 seconds |
|
171
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:1] | passed | 0.0175 seconds |
|
172
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:2] | passed | 0.04527 seconds |
|
173
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:3] | passed | 0.02246 seconds |
|
174
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:4] | passed | 0.0177 seconds |
|
175
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:5] | passed | 0.03088 seconds |
|
176
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:6] | passed | 0.01984 seconds |
|
177
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:7] | passed | 0.02992 seconds |
|
178
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:8:1:1] | passed | 0.00421 seconds |
|
179
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:8:1:2] | passed | 0.00155 seconds |
|
180
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:8:1:3] | passed | 0.00388 seconds |
|
181
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:8:1:4] | passed | 0.00876 seconds |
|
182
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:8:2:1] | passed | 0.01591 seconds |
|
183
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:8:2:2] | passed | 0.01036 seconds |
|
184
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:9:1] | passed | 0.01948 seconds |
|
185
|
+
./spec/models/snf_core/virtual_account_transaction_spec.rb[1:10:1] | passed | 0.01942 seconds |
|
186
|
+
./spec/models/snf_core/wallet_spec.rb[1:1] | passed | 0.00804 seconds |
|
187
|
+
./spec/models/snf_core/wallet_spec.rb[1:2] | passed | 0.01028 seconds |
|
188
|
+
./spec/models/snf_core/wallet_spec.rb[1:3] | passed | 0.0199 seconds |
|
189
|
+
./spec/models/snf_core/wallet_spec.rb[1:4] | passed | 0.00929 seconds |
|
190
|
+
./spec/models/snf_core/wallet_spec.rb[1:5] | passed | 0.00867 seconds |
|
191
|
+
./spec/models/snf_core/wallet_spec.rb[1:6:1] | passed | 0.00826 seconds |
|
192
|
+
./spec/models/snf_core/wallet_spec.rb[1:6:2] | passed | 0.01381 seconds |
|
193
|
+
./spec/requests/snf_core/auth_spec.rb[1:1:1:1] | passed | 0.01192 seconds |
|
194
|
+
./spec/requests/snf_core/auth_spec.rb[1:1:2:1] | passed | 0.00995 seconds |
|
195
|
+
./spec/requests/snf_core/auth_spec.rb[1:1:2:2] | passed | 0.01017 seconds |
|
196
|
+
./spec/requests/snf_core/auth_spec.rb[1:1:2:3] | passed | 0.01014 seconds |
|
197
|
+
./spec/requests/snf_core/auth_spec.rb[1:2:1:1] | passed | 0.02638 seconds |
|
198
|
+
./spec/requests/snf_core/auth_spec.rb[1:2:2:1] | passed | 0.0465 seconds |
|
199
|
+
./spec/sample_spec.rb[1:1] | passed | 0.00056 seconds |
|
@@ -0,0 +1,10 @@
|
|
1
|
+
FactoryBot.define do
|
2
|
+
factory :quotation, class: 'SnfCore::Quotation' do
|
3
|
+
item_request
|
4
|
+
price { Faker::Commerce.price(range: 10..1000.0) }
|
5
|
+
delivery_date { Date.current + 14.days }
|
6
|
+
valid_until { DateTime.current + 7.days }
|
7
|
+
status { :pending }
|
8
|
+
notes { Faker::Lorem.paragraph }
|
9
|
+
end
|
10
|
+
end
|
@@ -5,7 +5,7 @@ module SnfCore
|
|
5
5
|
attributes = [
|
6
6
|
{ user: :belong_to },
|
7
7
|
{ product: :belong_to },
|
8
|
-
{ quantity: [:presence, :numericality] },
|
8
|
+
{ quantity: [ :presence, :numericality ] },
|
9
9
|
{ requested_delivery_date: :presence },
|
10
10
|
{ status: :presence }
|
11
11
|
]
|
@@ -33,7 +33,7 @@ module SnfCore
|
|
33
33
|
end
|
34
34
|
|
35
35
|
it 'allows valid status transitions' do
|
36
|
-
valid_statuses = [:pending, :approved, :rejected, :fulfilled, :cancelled]
|
36
|
+
valid_statuses = [ :pending, :approved, :rejected, :fulfilled, :cancelled ]
|
37
37
|
valid_statuses.each do |status|
|
38
38
|
request.status = status
|
39
39
|
expect(request).to be_valid
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
module SnfCore
|
4
|
+
RSpec.describe Quotation, type: :model do
|
5
|
+
include ActiveSupport::Testing::TimeHelpers
|
6
|
+
|
7
|
+
attributes = [
|
8
|
+
{ item_request: :belong_to },
|
9
|
+
{ price: [ :presence, :numericality ] },
|
10
|
+
{ valid_until: :presence },
|
11
|
+
{ delivery_date: :presence },
|
12
|
+
{ status: :presence }
|
13
|
+
]
|
14
|
+
include_examples("model_shared_spec", :quotation, attributes)
|
15
|
+
|
16
|
+
describe 'validations' do
|
17
|
+
it 'validates price is greater than 0' do
|
18
|
+
quotation = build(:quotation, price: 0)
|
19
|
+
expect(quotation).not_to be_valid
|
20
|
+
expect(quotation.errors[:price]).to include('must be greater than 0')
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'validates valid_until is not in the past for new records' do
|
24
|
+
quotation = build(:quotation, valid_until: DateTime.yesterday)
|
25
|
+
expect(quotation).not_to be_valid
|
26
|
+
expect(quotation.errors[:valid_until]).to include("can't be in the past")
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'validates delivery_date is not in the past' do
|
30
|
+
quotation = build(:quotation, delivery_date: Date.yesterday)
|
31
|
+
expect(quotation).not_to be_valid
|
32
|
+
expect(quotation.errors[:delivery_date]).to include("can't be in the past")
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe 'status management' do
|
37
|
+
let(:quotation) { create(:quotation) }
|
38
|
+
|
39
|
+
it 'starts with pending status' do
|
40
|
+
expect(quotation.status).to eq('pending')
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'allows valid status transitions' do
|
44
|
+
valid_statuses = [ :pending, :accepted, :rejected, :expired ]
|
45
|
+
valid_statuses.each do |status|
|
46
|
+
quotation.status = status
|
47
|
+
expect(quotation).to be_valid
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
@@ -1,19 +1,18 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
module SnfCore
|
4
|
-
RSpec.describe User, type: :model do
|
5
|
-
attributes = [
|
6
|
-
{ first_name: :presence },
|
7
|
-
{ middle_name: :presence },
|
8
|
-
{ last_name: :presence },
|
9
|
-
{ address: :belong_to },
|
10
|
-
{ date_of_birth: :presence },
|
11
|
-
{ nationality: :presence },
|
12
|
-
{ phone_number: %i[presence uniqueness] }
|
13
|
-
]
|
14
|
-
include_examples("model_shared_spec", :user, attributes)
|
15
|
-
|
16
|
-
it { is_expected.to belong_to(:verified_by).class_name('User').optional }
|
17
|
-
|
18
|
-
|
19
|
-
end
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
module SnfCore
|
4
|
+
RSpec.describe User, type: :model do
|
5
|
+
attributes = [
|
6
|
+
{ first_name: :presence },
|
7
|
+
{ middle_name: :presence },
|
8
|
+
{ last_name: :presence },
|
9
|
+
{ address: :belong_to },
|
10
|
+
{ date_of_birth: :presence },
|
11
|
+
{ nationality: :presence },
|
12
|
+
{ phone_number: %i[presence uniqueness] }
|
13
|
+
]
|
14
|
+
include_examples("model_shared_spec", :user, attributes)
|
15
|
+
|
16
|
+
it { is_expected.to belong_to(:verified_by).class_name('User').optional }
|
17
|
+
end
|
18
|
+
end
|