dvla-application_helper 5.1.5

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.
Files changed (101) hide show
  1. checksums.yaml +7 -0
  2. data/.drone.yml +481 -0
  3. data/.env.template +4 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +21 -0
  6. data/.ruby-gemset +1 -0
  7. data/.ruby-version +1 -0
  8. data/README.md +674 -0
  9. data/Rakefile +31 -0
  10. data/config/settings/drone-dev.yml +41 -0
  11. data/config/settings/drone-ext.yml +35 -0
  12. data/config/settings/drone-link.yml +35 -0
  13. data/config/settings/drone-perf.yml +35 -0
  14. data/config/settings/local-dev.yml +40 -0
  15. data/config/settings/local-ext.yml +35 -0
  16. data/config/settings/local-link.yml +35 -0
  17. data/config/settings/local-perf.yml +35 -0
  18. data/config/settings.yml +29 -0
  19. data/config/yarp.yml +6 -0
  20. data/functional-tests/Rakefile +74 -0
  21. data/functional-tests/chutney.yml +110 -0
  22. data/functional-tests/features/codl.feature +170 -0
  23. data/functional-tests/features/codl_image_review_states.feature +140 -0
  24. data/functional-tests/features/csudl.feature +54 -0
  25. data/functional-tests/features/csudl_image_review_states.feature +20 -0
  26. data/functional-tests/features/step_definitions/app_domain_steps.rb +213 -0
  27. data/functional-tests/features/step_definitions/application_creation_steps.rb +115 -0
  28. data/functional-tests/features/step_definitions/image_steps.rb +144 -0
  29. data/functional-tests/features/step_definitions/state_machine_steps.rb +43 -0
  30. data/functional-tests/features/support/data/artefacts.rb +27 -0
  31. data/functional-tests/features/support/data/image_helpers.rb +20 -0
  32. data/functional-tests/features/support/data/schema_helpers.rb +3 -0
  33. data/functional-tests/features/support/data/string_manipulation.rb +9 -0
  34. data/functional-tests/features/support/env.rb +25 -0
  35. data/functional-tests/features/support/hooks.rb +56 -0
  36. data/functional-tests/features/support/yarp_integration/yarp_helpers.rb +23 -0
  37. data/functional-tests/features/uodl_image_review_states.feature +244 -0
  38. data/functional-tests/features/uodl_non_processable.feature +441 -0
  39. data/functional-tests/features/uodl_processable.feature +416 -0
  40. data/lib/dvla/application_helper/builders/V1/application_builder.rb +298 -0
  41. data/lib/dvla/application_helper/builders/V1/codl_application_builder.rb +205 -0
  42. data/lib/dvla/application_helper/builders/V1/csudl_application_builder.rb +329 -0
  43. data/lib/dvla/application_helper/builders/V2/base_uodl_v2_application_builder.rb +357 -0
  44. data/lib/dvla/application_helper/builders/V2/cop_v2_application_builder.rb +59 -0
  45. data/lib/dvla/application_helper/builders/V2/dup_v2_application_builder.rb +84 -0
  46. data/lib/dvla/application_helper/builders/V2/exc_v2_application_builder.rb +55 -0
  47. data/lib/dvla/application_helper/builders/V2/rep_v2_application_builder.rb +84 -0
  48. data/lib/dvla/application_helper/builders/V2/tyr_v2_application_builder.rb +62 -0
  49. data/lib/dvla/application_helper/builders/V2/uodl_v2_application_builder.rb +278 -0
  50. data/lib/dvla/application_helper/builders/V3/base_uodl_v3_application_builder.rb +342 -0
  51. data/lib/dvla/application_helper/builders/V3/cop_v3_application_builder.rb +56 -0
  52. data/lib/dvla/application_helper/builders/V3/dup_v3_application_builder.rb +78 -0
  53. data/lib/dvla/application_helper/builders/V3/exc_v3_application_builder.rb +56 -0
  54. data/lib/dvla/application_helper/builders/V3/rep_v3_application_builder.rb +81 -0
  55. data/lib/dvla/application_helper/builders/V3/tyr_v3_application_builder.rb +59 -0
  56. data/lib/dvla/application_helper/builders/dup_rep_builder_mixin.rb +71 -0
  57. data/lib/dvla/application_helper/builders/photo_builder_mixin.rb +49 -0
  58. data/lib/dvla/application_helper/builders/photo_signature_builder_mixin.rb +68 -0
  59. data/lib/dvla/application_helper/configuration.rb +37 -0
  60. data/lib/dvla/application_helper/constants.rb +21 -0
  61. data/lib/dvla/application_helper/enums/review_state.rb +30 -0
  62. data/lib/dvla/application_helper/enums/unable_to_prove_licence_possession_reasons.rb +8 -0
  63. data/lib/dvla/application_helper/factories/address.rb +21 -0
  64. data/lib/dvla/application_helper/factories/application_details.rb +353 -0
  65. data/lib/dvla/application_helper/factories/casework.rb +7 -0
  66. data/lib/dvla/application_helper/factories/csudl_photo_signature_image.rb +156 -0
  67. data/lib/dvla/application_helper/factories/csudl_photo_signature_images.rb +85 -0
  68. data/lib/dvla/application_helper/factories/organ_donor.rb +32 -0
  69. data/lib/dvla/application_helper/factories/person.rb +73 -0
  70. data/lib/dvla/application_helper/factories/photo_image.rb +147 -0
  71. data/lib/dvla/application_helper/factories/photo_images.rb +183 -0
  72. data/lib/dvla/application_helper/factories/photo_signature_image.rb +158 -0
  73. data/lib/dvla/application_helper/factories/photo_signature_images.rb +64 -0
  74. data/lib/dvla/application_helper/fixtures/photo/comparison_image.jpeg +0 -0
  75. data/lib/dvla/application_helper/fixtures/photo/passport_image.jpg +0 -0
  76. data/lib/dvla/application_helper/fixtures/photo/photocard_back.jpg +0 -0
  77. data/lib/dvla/application_helper/fixtures/photo/photocard_front.jpg +0 -0
  78. data/lib/dvla/application_helper/fixtures/photo/rejected_user_uploaded_image.jpeg +0 -0
  79. data/lib/dvla/application_helper/fixtures/photo/user_uploaded_image.jpg +0 -0
  80. data/lib/dvla/application_helper/fixtures/signature/csudl_signature_image.tiff +0 -0
  81. data/lib/dvla/application_helper/fixtures/signature/passport_image.jpg +0 -0
  82. data/lib/dvla/application_helper/fixtures/signature/rejected_user_uploaded_image.jpg +0 -0
  83. data/lib/dvla/application_helper/fixtures/signature/user_uploaded_image.jpg +0 -0
  84. data/lib/dvla/application_helper/processors/application_status.rb +45 -0
  85. data/lib/dvla/application_helper/processors/application_task.rb +301 -0
  86. data/lib/dvla/application_helper/services/application_diary.rb +123 -0
  87. data/lib/dvla/application_helper/services/application_domain.rb +239 -0
  88. data/lib/dvla/application_helper/services/application_process_engine.rb +120 -0
  89. data/lib/dvla/application_helper/services/check_aws_credentials.rb +24 -0
  90. data/lib/dvla/application_helper/services/driving_licence_channel_api.rb +67 -0
  91. data/lib/dvla/application_helper/services/image_service.rb +116 -0
  92. data/lib/dvla/application_helper/services/image_utility.rb +82 -0
  93. data/lib/dvla/application_helper/services/state_machine_helpers.rb +146 -0
  94. data/lib/dvla/application_helper/version.rb +5 -0
  95. data/lib/dvla/application_helper.rb +92 -0
  96. data/renovate.json +4 -0
  97. data/scripts/application-login.sh +56 -0
  98. data/scripts/drone-aws-login.sh +18 -0
  99. data/scripts/seed_application.rb +268 -0
  100. data/sonar-project.properties +4 -0
  101. metadata +343 -0
@@ -0,0 +1,416 @@
1
+ Feature: UODL processable
2
+
3
+ As a Test engineer
4
+ I want to ensure that UODL test applications can be built using a variety of flags
5
+ So that they can be used to functionally test each of our components
6
+
7
+ Scenario Outline: AC-01b Create processable app with welsh flag and ensure state machine is on preparation hook and in a running state
8
+ When I create a "processable" "<Transaction Type>" application with "is_welsh_language" flag
9
+ Then the application exists within the database
10
+ And the application has welsh language preference
11
+ And I allow the state machine time to be started
12
+ And the application process engine fulfilment execution has a status of "RUNNING"
13
+ And the state machine is waiting on the PreparationHook
14
+ Examples:
15
+ | Transaction Type |
16
+ | UODL V2 TYR |
17
+ | UODL V2 COP |
18
+ | UODL V2 EXC |
19
+ # | UODL V3 TYR |
20
+ # | UODL V3 COP |
21
+ # | UODL V3 EXC |
22
+
23
+ @wip # TODO to re-enable in DL-15128
24
+ Scenario Outline: AC-01c Create processable app with welsh flag and ensure state machine execution succeeds
25
+ When I create a "processable" "<Transaction Type>" application with "is_welsh_language" flag
26
+ Then the application exists within the database
27
+ And the application has welsh language preference
28
+ And I allow the state machine time to be started
29
+ And the application process engine fulfilment execution has a status of "SUCCEEDED"
30
+ Examples:
31
+ | Transaction Type |
32
+ | UODL V2 REP |
33
+ | UODL V2 DUP |
34
+ # | UODL V3 REP |
35
+ # | UODL V3 DUP |
36
+
37
+ Scenario Outline: AC-02b Create processable app with passport photo flag and ensure state machine succeeds
38
+ When I create a "processable" "<Transaction Type>" application with "with_passport_image" flag
39
+ Then the application exists within the database
40
+ And the application has a Passport image
41
+ And I allow the state machine time to be started
42
+ And the application process engine fulfilment execution has a status of "SUCCEEDED"
43
+ Examples:
44
+ | Transaction Type |
45
+ | UODL V2 TYR |
46
+ | UODL V2 COP |
47
+ # | UODL V3 TYR |
48
+ # | UODL V3 COP |
49
+
50
+ @DL-14672
51
+ Scenario Outline: AC-02d Create processable EXC app with passport images flag and ensure state machine is on preparation hook and in a running state
52
+ When I create a "processable" "<Transaction Type>" application with "with_passport_images" flag
53
+ Then the application exists within the database
54
+ And the application has Passport images
55
+ And I allow the state machine time to be started
56
+ And the application process engine fulfilment execution has a status of "SUCCEEDED"
57
+ Examples:
58
+ | Transaction Type |
59
+ | UODL V2 EXC |
60
+ # | UODL V3 EXC |
61
+
62
+ @DL-14672
63
+ Scenario Outline: AC-04b Create processable EXC app with a home office comparison photo, ensure retrieved application contains them and ensure state machine is on preparation hook and in a running state
64
+ When I create a "processable" "<Transaction Type>" application with "with_home_office_comparison_photo" flag
65
+ Then the application exists within the database
66
+ And the application has a Home Office image
67
+ And I allow the state machine time to be started
68
+ And the application process engine fulfilment execution has a status of "RUNNING"
69
+ And the state machine is waiting on the PreparationHook
70
+ Examples:
71
+ | Transaction Type |
72
+ | UODL V2 EXC |
73
+ # | UODL V3 EXC |
74
+
75
+ @delete_images
76
+ Scenario Outline: AC-03b Create processable app with unique images flag and ensure state machine is on preparation hook and in a running state
77
+ When I create a "processable" "<Transaction Type>" application with "unique_images" flag
78
+ Then the application exists within the database
79
+ And the application has unique_image_ids <for images>
80
+ And I allow the state machine time to be started
81
+ And the state machine is waiting on the PreparationHook
82
+ Examples:
83
+ | Transaction Type | for images |
84
+ | UODL V2 TYR | for photos |
85
+ | UODL V2 COP | for photos |
86
+ | UODL V2 EXC | for photos and signatures |
87
+ # | UODL V3 TYR | for photos |
88
+ # | UODL V3 COP | for photos |
89
+ # | UODL V3 EXC | for photos and signatures |
90
+
91
+ Scenario Outline: AC-03d Create processable app with static_image ids, ensure retrieved application contains them and ensure state machine is on preparation hook and in a running state
92
+ When I create a "processable" "<Transaction Type>" application
93
+ Then the application exists within the database
94
+ And the application has static_image_ids <for images>
95
+ And I allow the state machine time to be started
96
+ And the application process engine fulfilment execution has a status of "RUNNING"
97
+ And the state machine is waiting on the PreparationHook
98
+ Examples:
99
+ | Transaction Type | for images |
100
+ | UODL V2 TYR | for photos |
101
+ | UODL V2 COP | for photos |
102
+ | UODL V2 EXC | for photos and signatures |
103
+ # | UODL V3 TYR | for photos |
104
+ # | UODL V3 COP | for photos |
105
+ # | UODL V3 EXC | for photos and signatures |
106
+
107
+ Scenario Outline: AC-04b Create processable app with with_user_image flag and ensure state machine is on preparation hook and in a running state
108
+ When I create a "processable" "<Transaction Type>" application with "with_user_image" flag
109
+ Then the application exists within the database
110
+ And the application has a User image
111
+ And I allow the state machine time to be started
112
+ And the application process engine fulfilment execution has a status of "RUNNING"
113
+ And the state machine is waiting on the PreparationHook
114
+ Examples:
115
+ | Transaction Type |
116
+ | UODL V2 TYR |
117
+ | UODL V2 COP |
118
+ # | UODL V3 TYR |
119
+ # | UODL V3 COP |
120
+
121
+ Scenario Outline: AC-06b Create processable app with user 'with_bfpo_address' and ensure state machine is on preparation hook and in a running state
122
+ When I create a "processable" "<Transaction Type>" application with "with_bfpo_address" flag
123
+ Then the application exists within the database
124
+ And the application contains a BFPO address
125
+ And I allow the state machine time to be started
126
+ And the application process engine fulfilment execution has a status of "RUNNING"
127
+ And the state machine is waiting on the PreparationHook
128
+ Examples:
129
+ | Transaction Type |
130
+ | UODL V2 TYR |
131
+ | UODL V2 COP |
132
+ # | UODL V3 TYR |
133
+ # | UODL V3 COP |
134
+ # | UODL V3 EXC |
135
+
136
+ # Ticket raised to query this test, DL-14979
137
+ @wip
138
+ Scenario Outline: AC-06c Create processable app with user 'with_bfpo_address' and ensure state machine execution succeeds
139
+ When I create a "processable" "<Transaction Type>" application with "with_bfpo_address" flag
140
+ Then the application exists within the database
141
+ And the application contains a BFPO address
142
+ And I allow the state machine time to be started
143
+ And the application process engine fulfilment execution has a status of "SUCCEEDED"
144
+ Examples:
145
+ | Transaction Type |
146
+ | UODL V2 REP |
147
+ | UODL V2 DUP |
148
+
149
+ Scenario Outline: AC-07b Create processable app with user 'with_free_key_address' and ensure state machine is on preparation hook and in a running state
150
+ When I create a "processable" "<Transaction Type>" application with "with_free_key_address" flag
151
+ Then the application exists within the database
152
+ And the application contains a Free Key address
153
+ And I allow the state machine time to be started
154
+ And the application process engine fulfilment execution has a status of "RUNNING"
155
+ And the state machine is waiting on the PreparationHook
156
+ Examples:
157
+ | Transaction Type |
158
+ | UODL V2 TYR |
159
+ # | UODL V2 REP | # TODO to re-enable in DL-15128
160
+ | UODL V2 COP |
161
+ # | UODL V3 TYR |
162
+ # | UODL V3 REP |
163
+ # | UODL V3 COP |
164
+ # | UODL V3 EXC |
165
+
166
+ Scenario Outline: AC-07c Create processable DUP app with user 'with_free_key_address' and ensure state machine succeeds
167
+ When I create a "processable" "<Transaction Type>" application with "with_free_key_address" flag
168
+ Then the application exists within the database
169
+ And the application contains a Free Key address
170
+ And I allow the state machine time to be started
171
+ And the application process engine fulfilment execution has a status of "SUCCEEDED"
172
+ Examples:
173
+ | Transaction Type |
174
+ | UODL V2 DUP |
175
+ # | UODL V3 DUP |
176
+
177
+ Scenario Outline: AC-10b Create processable app with user 'has_phone_number' and ensure state machine is on preparation hook and in a running state
178
+ When I create a "processable" "<Transaction Type>" application with "has_phone_number" flag
179
+ Then the application exists within the database
180
+ And the application contains a phone number
181
+ And I allow the state machine time to be started
182
+ And the application process engine fulfilment execution has a status of "RUNNING"
183
+ And the state machine is waiting on the PreparationHook
184
+ Examples:
185
+ | Transaction Type |
186
+ | UODL V2 TYR |
187
+ # | UODL V2 REP | # TODO to re-enable in DL-15128
188
+ | UODL V2 DUP |
189
+ | UODL V2 COP |
190
+ | UODL V2 EXC |
191
+ # | UODL V3 TYR |
192
+ # | UODL V3 REP |
193
+ # | UODL V3 DUP |
194
+ # | UODL V3 COP |
195
+ # | UODL V3 EXC |
196
+
197
+ Scenario Outline: AC-11b Create processable app with user 'with_customer_id' and ensure state machine is on preparation hook and in a running state
198
+ When I create a "processable" "<Transaction Type>" application with "with_customer_id" flag
199
+ Then the application exists within the database
200
+ And the application contains the seeded customer id
201
+ And I allow the state machine time to be started
202
+ And the application process engine fulfilment execution has a status of "RUNNING"
203
+ And the state machine is waiting on the PreparationHook
204
+ Examples:
205
+ | Transaction Type |
206
+ | UODL V2 TYR |
207
+ # | UODL V2 REP | # TODO to re-enable in DL-15128
208
+ | UODL V2 DUP |
209
+ | UODL V2 COP |
210
+ | UODL V2 EXC |
211
+ # | UODL V3 TYR |
212
+ # | UODL V3 REP |
213
+ # | UODL V3 DUP |
214
+ # | UODL V3 COP |
215
+ # | UODL V3 EXC |
216
+
217
+ Scenario Outline: AC-12b Create processable app with user 'is_organ_donor' and ensure state machine is on preparation hook and in a running state
218
+ Given organ_donation is set to <organ_donation>
219
+ When I create a "processable" "<Transaction Type>" application with "is_organ_donor" flag
220
+ Then the application exists within the database
221
+ And the application any_organs field is <organ_donation>
222
+ And I allow the state machine time to be started
223
+ And the application process engine fulfilment execution has a status of "RUNNING"
224
+ And the state machine is waiting on the PreparationHook
225
+ Examples:
226
+ | Transaction Type | organ_donation |
227
+ | UODL V2 TYR | true |
228
+ | UODL V2 TYR | false |
229
+ # | UODL V2 REP | true | # TODO to re-enable in DL-15128
230
+ # | UODL V2 REP | false | # TODO to re-enable in DL-15128
231
+ | UODL V2 DUP | true |
232
+ | UODL V2 DUP | false |
233
+ | UODL V2 COP | true |
234
+ | UODL V2 COP | false |
235
+ | UODL V2 EXC | true |
236
+ | UODL V2 EXC | false |
237
+ # | UODL V3 TYR | true |
238
+ # | UODL V3 TYR | false |
239
+ # | UODL V3 REP | true |
240
+ # | UODL V3 REP | false |
241
+ # | UODL V3 DUP | true |
242
+ # | UODL V3 DUP | false |
243
+ # | UODL V3 COP | true |
244
+ # | UODL V3 COP | false |
245
+ # | UODL V3 EXC | true |
246
+ # | UODL V3 EXC | false |
247
+
248
+ Scenario Outline: AC-13b Create processable app and ensure a payment is present and state machine is on preparation hook and in a running state
249
+ When I create a "processable" "<Transaction Type>" application
250
+ Then the application exists within the database
251
+ And the application contains a payment object
252
+ And I allow the state machine time to be started
253
+ And the application process engine fulfilment execution has a status of "RUNNING"
254
+ And the state machine is waiting on the PreparationHook
255
+ Examples:
256
+ | Transaction Type |
257
+ | UODL V2 TYR |
258
+ | UODL V2 DUP |
259
+ | UODL V2 COP |
260
+ | UODL V2 EXC |
261
+ # | UODL V3 TYR |
262
+ # | UODL V3 DUP |
263
+ # | UODL V3 COP |
264
+ # | UODL V3 EXC |
265
+
266
+ Scenario Outline: AC-14b Create processable app with user 'with_applicant' and ensure state machine is on preparation hook and in a running state
267
+ When I create a "processable" "<Transaction Type>" application with "with_applicant" flag
268
+ Then the application exists within the database
269
+ And the application contains the seeded applicant
270
+ And I allow the state machine time to be started
271
+ And the application process engine fulfilment execution has a status of "RUNNING"
272
+ And the state machine is waiting on the PreparationHook
273
+ Examples:
274
+ | Transaction Type |
275
+ | UODL V2 TYR |
276
+ # | UODL V2 REP | # TODO to re-enable in DL-15128
277
+ | UODL V2 DUP |
278
+ | UODL V2 COP |
279
+ | UODL V2 EXC |
280
+ # | UODL V3 TYR |
281
+ # | UODL V3 REP |
282
+ # | UODL V3 DUP |
283
+ # | UODL V3 COP |
284
+ # | UODL V3 EXC |
285
+
286
+ Scenario Outline: AC-15b Create processable app with user 'with_change_of_address' and ensure state machine is on preparation hook and in a running state
287
+ When I create a "processable" "<Transaction Type>" application with "with_change_of_address" flag
288
+ Then the application exists within the database
289
+ And the application contains the driving licence action updateAddress
290
+ And I allow the state machine time to be started
291
+ And the application process engine fulfilment execution has a status of "RUNNING"
292
+ And the state machine is waiting on the PreparationHook
293
+ Examples:
294
+ | Transaction Type |
295
+ | UODL V2 TYR |
296
+ | UODL V2 COP |
297
+ # | UODL V3 TYR |
298
+ # | UODL V3 COP |
299
+ # | UODL V3 EXC |
300
+ @wip # TODO to re-enable in DL-15128
301
+ Scenario Outline: AC-15c Create processable app with user 'with_change_of_address' and ensure state machine execution is successful
302
+ When I create a "processable" "<Transaction Type>" application with "with_change_of_address" flag
303
+ Then the application exists within the database
304
+ And the application contains the driving licence action updateAddress
305
+ And I allow the state machine time to be started
306
+ And the application process engine fulfilment execution has a status of "SUCCEEDED"
307
+ Examples:
308
+ | Transaction Type |
309
+ | UODL V2 REP |
310
+ | UODL V2 DUP |
311
+ # | UODL V3 TYR |
312
+ # | UODL V3 REP |
313
+
314
+ # This is a sense check, processable apps cannot have a different status passed in, it will always be Started!, need to update the helper code to handle the flags better
315
+ Scenario Outline: AC-17b Create processable app with user 'with_application_status' and ensure state machine is on preparation hook and in a running state
316
+ Given I want the application to have a random status which is not Started
317
+ When I create a "processable" "<Transaction Type>" application with "with_application_status" flag
318
+ Then the application exists within the database
319
+ And the application status matches "Started"
320
+ And I allow the state machine time to be started
321
+ And the application process engine fulfilment execution has a status of "RUNNING"
322
+ And the state machine is waiting on the PreparationHook
323
+ Examples:
324
+ | Transaction Type |
325
+ | UODL V2 TYR |
326
+ # | UODL V2 REP | # TODO to re-enable in DL-15128
327
+ | UODL V2 DUP |
328
+ | UODL V2 COP |
329
+ | UODL V2 EXC |
330
+ # | UODL V3 TYR |
331
+ # | UODL V3 REP |
332
+ # | UODL V3 DUP |
333
+ # | UODL V3 COP |
334
+ # | UODL V3 EXC |
335
+
336
+ Scenario Outline: AC-18b Create processable COP app and ensure state machine is on preparation hook and in a running state
337
+ When I create a "processable" "<Transaction Type>" application with "<flag>" flag
338
+ Then the application exists within the database
339
+ And the application contains the customer context for "Change of photo"
340
+ And I allow the state machine time to be started
341
+ And the application process engine fulfilment execution has a status of "RUNNING"
342
+ And the state machine is waiting on the PreparationHook
343
+ Examples:
344
+ | Transaction Type | flag |
345
+ | UODL V2 COP | |
346
+ # | UODL V3 COP | |
347
+ | UODL V2 | change_of_photo |
348
+
349
+ Scenario Outline: AC-19b Create processable app with user 'extend_application_deadline' and ensure state machine is on preparation hook and in a running state
350
+ When I create a "processable" "<Transaction Type>" application with "extend_application_deadline" flag
351
+ Then the application exists within the database
352
+ And the application contains the call to action field
353
+ And I allow the state machine time to be started
354
+ And the application process engine fulfilment execution has a status of "RUNNING"
355
+ And the state machine is waiting on the PreparationHook
356
+ Examples:
357
+ | Transaction Type |
358
+ | UODL V2 TYR |
359
+ | UODL V2 COP |
360
+ | UODL V2 EXC |
361
+ # | UODL V3 TYR |
362
+ # | UODL V3 COP |
363
+ # | UODL V3 EXC |
364
+
365
+ @wip # TODO to re-enable in DL-15128
366
+ Scenario Outline: AC-22b-i Create processable app 'eligible_paper_to_plastic' and ensure state machine is on preparation hook and in a running state
367
+ Given I want the application to have a random status which is not Started
368
+ When I create a "processable" "<Transaction Type>" application with "eligible_paper_to_plastic" flag
369
+ Then the application exists within the database
370
+ And the application status matches "Started"
371
+ And I allow the state machine time to be started
372
+ And the application process engine fulfilment execution has a status of "RUNNING"
373
+ And the state machine is waiting on the PreparationHook
374
+ And the application has the "inform-paper-to-plastic" eligibility
375
+ Examples:
376
+ | Transaction Type |
377
+ | UODL V2 REP |
378
+ | UODL V2 DUP |
379
+ # | UODL V3 REP |
380
+ # | UODL V3 DUP |
381
+
382
+ # UODL V2 specific
383
+ @DL-14674 @wip #till channel api supports
384
+ Scenario Outline: AC-22b-ii Create processable app 'with_paper_to_plastic_driver_id' and ensure state machine is on preparation hook and in a running state
385
+ Given I want the application to have a random status which is not Started
386
+ When I create a "processable" "<Transaction Type>" application with "with_paper_to_plastic_driver_id" flag
387
+ Then the application exists within the database
388
+ And the application status matches "Started"
389
+ And I allow the state machine time to be started
390
+ And the application process engine fulfilment execution has a status of "RUNNING"
391
+ And the state machine is waiting on the PreparationHook
392
+ And the application has the "inform-paper-to-plastic" eligibility
393
+ And the application contains the driver_id in the product_id for <application type>
394
+ Examples:
395
+ | Transaction Type | application type |
396
+ | UODL V2 REP | paper-rep |
397
+ | UODL V2 DUP | paper-dup |
398
+ # | UODL V3 REP | paper-rep |
399
+ # | UODL V3 DUP | paper-dup |
400
+
401
+ @DL-14672
402
+ Scenario Outline: AC-23b Create processable EXC app correctly and ensure state machine is on preparation hook and in a running state
403
+ Given I want the application to have a random status which is not Started
404
+ When I create a "processable" "<Transaction Type>" application
405
+ Then the application exists within the database
406
+ And the application status matches "Started"
407
+ And I allow the state machine time to be started
408
+ And the application process engine fulfilment execution has a status of "RUNNING"
409
+ And the state machine is waiting on the PreparationHook
410
+ And the application has the "inform-paper-to-plastic" eligibility
411
+ And the application contains the customer context for "Paper to photocard"
412
+ And the application has a reference number starting with "EX"
413
+ Examples:
414
+ | Transaction Type |
415
+ | UODL V2 EXC |
416
+ # | UODL V3 EXC |