@suffolklitlab/alkiln 5.1.0 → 5.2.0

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.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # Changelog
2
+
2
3
  All notable changes to this project will be documented in this file.
3
4
 
4
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
@@ -43,23 +44,36 @@ Format:
43
44
  -->
44
45
  <!-- ## [Unreleased] -->
45
46
 
47
+ ## [5.2.0] - 2023-09-16
48
+ ### Changed
49
+ - Make `I tap to continue` case insensitive to allow the author to match the capitalization of the button in Docassemble.
50
+
46
51
  ## [5.1.0] - 2023-08-12
52
+
47
53
  ### Added
54
+
48
55
  - Comboboxes - can now fill in comboboxes on the latest Docassemble.
49
56
 
50
57
  ### Fixed
58
+
51
59
  - Filling out a hidden field right after a date field triggered the date's calendar popup, which I believe ate the input for the next visible field.
52
60
 
53
61
  ## [5.0.2] - 2023-07-20
62
+
54
63
  ### Fixed
64
+
55
65
  - Accept `SERVER_RELOAD_TIMEOUT_SECONDS` as an env var input in GitHub.
56
66
 
57
67
  ## [5.0.1] - 2023-07-18
68
+
58
69
  ### Changed
70
+
59
71
  - Increment version of ALKiln that action.yml is using.
60
72
 
61
73
  ## [5.0.0] - 2023-07-18
74
+
62
75
  ### Added
76
+
63
77
  - added additional functionality to the sign method to allow developers to take a name argument to sign on canvas: issue #596
64
78
  - A new script: `alkiln-run`, which acts like `npm run cucumber`, but can
65
79
  be run in any directory, not just in an npm package.
@@ -69,6 +83,7 @@ Format:
69
83
  - Allow author to specify loops with only `.target_number`. e.g. to leave out `.there_are_any`. See [issue #706](https://github.com/SuffolkLITLab/ALKiln/issues/706) and Story Table documentation in docs folder.
70
84
 
71
85
  ### Changed
86
+
72
87
  - BREAKING: the github action no longer runs `npm run XYZ`; it directly calls scripts,
73
88
  e.g. `alkiln-setup`, `alkiln-run`, `alkiln-takedown`
74
89
  - BREAKING: Remove EXTRA_LANGUAGES env var as languages are being handled through cucumber `Examples` now.
@@ -82,17 +97,19 @@ Format:
82
97
  - Freeze all npm package versions.
83
98
 
84
99
  ### Fixed
85
- - DOCKER UPDATE (for ALKilnInThePlayground): Allows ALKilnInThePlayground to upload files. See https://github.com/SuffolkLITLab/docassemble-ALKilnInThePlayground/issues/18. This may require some developers to update their system (updating their docker image) if they are below [docassemble-os 1.0.8](https://github.com/jhpyle/docassemble-os/releases/tag/v1.0.8). You can tell if you are below docassemble-os 1.0.8 if you run `docker image inspect jhpyle/docassemble | grep Created` on your host server (Lightsail, etc.) and the created date is before 2023-04-09. You can update as described in [the documentation](https://suffolklitlab.org/legal-tech-class/docs/practical-guide-docassemble/maintaining-docassemble#updates-to-the-docassemble-container). Updating to a new docker images is something that all docassemble users will have to do sometime anyway, sometimes for security.
100
+
101
+ - DOCKER UPDATE (for ALKilnInThePlayground): Allows ALKilnInThePlayground to upload files. See <https://github.com/SuffolkLITLab/docassemble-ALKilnInThePlayground/issues/18>. This may require some developers to update their system (updating their docker image) if they are below [docassemble-os 1.0.8](https://github.com/jhpyle/docassemble-os/releases/tag/v1.0.8). You can tell if you are below docassemble-os 1.0.8 if you run `docker image inspect jhpyle/docassemble | grep Created` on your host server (Lightsail, etc.) and the created date is before 2023-04-09. You can update as described in [the documentation](https://suffolklitlab.org/legal-tech-class/docs/practical-guide-docassemble/maintaining-docassemble#updates-to-the-docassemble-container). Updating to a new docker images is something that all docassemble users will have to do sometime anyway, sometimes for security.
86
102
  - Conform upload file behavior to that of other Story Table rows - avoid erroring when field isn't set properly unless using all variables is required.
87
- - Projects created in da each have a unique name. https://github.com/SuffolkLITLab/ALKiln/issues/663
88
- - Shorten path names to try to accommodate limitations of windows systems while still keeping enough useful information to help devs identify the test outputs. https://github.com/SuffolkLITLab/ALKiln/issues/618
103
+ - Projects created in da each have a unique name. <https://github.com/SuffolkLITLab/ALKiln/issues/663>
104
+ - Shorten path names to try to accommodate limitations of windows systems while still keeping enough useful information to help devs identify the test outputs. <https://github.com/SuffolkLITLab/ALKiln/issues/618>
89
105
  - Updated field decoding to handle new object field encoding. See [#711](https://github.com/SuffolkLITLab/ALKiln/issues/711)
90
106
  - Allow multiple languages to be tested again. See [#713](https://github.com/SuffolkLITLab/ALKiln/issues/713).
91
107
  - Fill in time fields correctly. See [#726](https://github.com/SuffolkLITLab/ALKiln/pull/726).
92
- - Allow `.target_number` to be 0. See https://github.com/SuffolkLITLab/ALKiln/issues/706.
93
- - Use the right number of loops for `.target_number`. See https://github.com/SuffolkLITLab/ALKiln/issues/706.
108
+ - Allow `.target_number` to be 0. See <https://github.com/SuffolkLITLab/ALKiln/issues/706>.
109
+ - Use the right number of loops for `.target_number`. See <https://github.com/SuffolkLITLab/ALKiln/issues/706>.
94
110
 
95
111
  ### Security
112
+
96
113
  - Pass docassemble API keys through HTTP headers instead of as parameters.
97
114
  - Parameters to certain HTTP requests are printed directly in docassemble's
98
115
  uWSGI log, leaking API keys to actors with log access on your docassemble
@@ -100,152 +117,209 @@ Format:
100
117
  - Update dependencies. See [#727](https://github.com/SuffolkLITLab/ALKiln/pull/727).
101
118
 
102
119
  ### Internal
120
+
103
121
  - added a test for multiline json values (only ones set by code not by user input)
104
122
  - added an internal section to the change log
105
123
 
106
124
  ## [4.11.1] - 2023-03-21
125
+
107
126
  ### Changed
127
+
108
128
  - Get error data from server errors
109
129
 
110
130
  ## [4.11.0] - 2023-03-13
131
+
111
132
  ### Changed
112
- - Shorten Axios errors to make them more readable (https://github.com/SuffolkLITLab/ALKiln/pull/632)
133
+
134
+ - Shorten Axios errors to make them more readable (<https://github.com/SuffolkLITLab/ALKiln/pull/632>)
113
135
 
114
136
  ## [4.10.4] - 2023-02-15
137
+
115
138
  ### Added
139
+
116
140
  - Contribution docs
117
141
 
118
142
  ### Fixed
119
- - #511, couldn't take screenshots of signature pages https://github.com/SuffolkLITLab/ALKiln/issues/511
143
+
144
+ - #511, couldn't take screenshots of signature pages <https://github.com/SuffolkLITLab/ALKiln/issues/511>
120
145
 
121
146
  ## [4.10.3] - 2023-01-11
147
+
122
148
  ### Removed
149
+
123
150
  - Internal - ignore local test output files. Part 2 of the process out of 2.
124
151
 
125
152
  ## [4.10.2] - 2023-01-11
153
+
126
154
  ### Removed
155
+
127
156
  - Internal - deleted unignored local files (since adding .npmignore). Part 1 of the process out of 2.
128
157
 
129
158
  ## [4.10.1] - 2023-01-07
159
+
130
160
  ### Changed
131
- - Fix artifacts not being saved in GitHub. See https://github.com/SuffolkLITLab/ALKiln/issues/629.
161
+
162
+ - Fix artifacts not being saved in GitHub. See <https://github.com/SuffolkLITLab/ALKiln/issues/629>.
132
163
  - Make internal test folder names a bit simpler and more modular-izable.
133
164
 
134
165
  ## [4.10.0] - 2022-11-17
166
+
135
167
  ### Changed
168
+
136
169
  - Don't mark `...there_in_another | False |` in story tables as invalid, as it's necessary for some
137
- workflows (see https://github.com/SuffolkLITLab/ALKiln/pull/580 for a longer discussion).
170
+ workflows (see <https://github.com/SuffolkLITLab/ALKiln/pull/580> for a longer discussion).
138
171
  - Explicitly **not** documented, as we don't want to encourage people to use it if it's not
139
172
  necessary for their interviews.
140
173
  - continuing between screens will no longer press button with the `btn-primary` class. This means
141
174
  that it won't press "Exit", or "Restart" buttons, to avoid getting in an infinite loop.
142
175
  - Shorten test report and artifact filenames, attempting to have fewer files whose whole paths are
143
- longer than 260 characters. (See https://github.com/SuffolkLITLab/ALKiln/pull/626 for details).
176
+ longer than 260 characters. (See <https://github.com/SuffolkLITLab/ALKiln/pull/626> for details).
144
177
 
145
178
  ### Fixed
179
+
146
180
  - Corrects the month in the artifact folder timestamp; was printing things like `81` for September
147
181
  instead of `09`, because of a `+` being interpreted as Javascript string concatenation and not math.
148
182
 
149
183
  ## [4.9.3] - 2022-09-07
184
+
150
185
  ### Fixed
151
- - `retry` of failed tests not implemented for developers. See https://github.com/SuffolkLITLab/ALKiln/issues/601.
186
+
187
+ - `retry` of failed tests not implemented for developers. See <https://github.com/SuffolkLITLab/ALKiln/issues/601>.
152
188
 
153
189
  ## [4.9.2] - 2022-09-02
190
+
154
191
  ### Fixed
155
- - Environment variables `SERVER_RELOAD_TIMEOUT_SECONDS` and `MAX_SECONDS_FOR_SERVER_RELOAD` were being used as milliseconds instead of seconds. See https://github.com/SuffolkLITLab/ALKiln/issues/606.
192
+
193
+ - Environment variables `SERVER_RELOAD_TIMEOUT_SECONDS` and `MAX_SECONDS_FOR_SERVER_RELOAD` were being used as milliseconds instead of seconds. See <https://github.com/SuffolkLITLab/ALKiln/issues/606>.
156
194
 
157
195
  ## [4.9.1] - 2022-09-01
196
+
158
197
  ### Fixed
159
- - runtime_config.json gets created when needed when artifacts folder is created. See https://github.com/SuffolkLITLab/ALKiln/issues/600.
198
+
199
+ - runtime_config.json gets created when needed when artifacts folder is created. See <https://github.com/SuffolkLITLab/ALKiln/issues/600>.
160
200
 
161
201
  ## [4.9.0] - 2022-09-01
202
+
162
203
  ### Changed
163
- - Allow devs to test an arbitrary interview. See https://github.com/SuffolkLITLab/ALKiln/issues/600.
164
- - Create artifacts folder even when setup has been skipped. See https://github.com/SuffolkLITLab/ALKiln/issues/600.
204
+
205
+ - Allow devs to test an arbitrary interview. See <https://github.com/SuffolkLITLab/ALKiln/issues/600>.
206
+ - Create artifacts folder even when setup has been skipped. See <https://github.com/SuffolkLITLab/ALKiln/issues/600>.
165
207
 
166
208
  ## [4.8.0] - 2022-08-30
209
+
167
210
  ### Changed
211
+
168
212
  - Date for filenames. Format date in y-m-d format instead of d-m-y that it had by default. Include ms.
169
213
 
170
214
  ## [4.7.2] - 2022-08-09
215
+
171
216
  ### Changed
172
- - Inform the developer when a test failure may have been caused by a server reload. See https://github.com/SuffolkLITLab/ALKiln/issues/392.
173
- - Retry all failing tests once.
174
217
 
218
+ - Inform the developer when a test failure may have been caused by a server reload. See <https://github.com/SuffolkLITLab/ALKiln/issues/392>.
219
+ - Retry all failing tests once.
175
220
 
176
221
  ## [4.7.1] - 2022-08-07
222
+
177
223
  ### Changed
224
+
178
225
  - Ensure unique folder names for random input screenshots in case developer uses multiple random steps in one Scenario.
179
226
  - Ensure random input detects unexpected interview errors.
180
227
 
181
228
  ### Fixed
229
+
182
230
  - Fix failure when signature page is the first screen.
183
231
  - Internal tests failing even when failure status is as expected.
184
232
  - Double printing in report of scenario failure, one of them even when Scenario was possibly non-failure, like skipped.
185
233
 
186
234
  ## [4.7.0] - 2022-07-27
235
+
187
236
  ### Added
237
+
188
238
  - Generate random input to fill out a simple form automatically. Does not yet ensure that random screenshot folder names are unique, or that error screens are detected as errors. 4.7.1 implements those.
189
239
 
190
240
  ### Changed
241
+
191
242
  - Add page id to the "Missing Variable or variables on page" error report
192
243
  - Allows Story Tables to not include a header row, as long as they have 2 or 3 columns.
193
244
  This isn't the suggested way at the moment, since including headers is more readable,
194
245
  but can prevent confusing and unnecessary errors.
195
246
 
196
247
  ## [4.6.2] - 2022-06-28
248
+
197
249
  ### Changed
198
- - Put cucumber tests' artifacts in one folder. See https://github.com/SuffolkLITLab/ALKiln/issues/552.
250
+
251
+ - Put cucumber tests' artifacts in one folder. See <https://github.com/SuffolkLITLab/ALKiln/issues/552>.
199
252
  - Add separate artifacts dir for our own internal tests, like unit tests
200
253
  - Abstract names of some of those artifact directories
201
254
 
202
255
  ## [4.6.1] - 2022-06-28
256
+
203
257
  ### Fixed
258
+
204
259
  - Single dropdown fields on pages are now recognized as fields properly
205
260
 
206
261
  ## [4.6.0] - 2022-06-10
262
+
207
263
  ### Added
264
+
208
265
  - Steps to test web accessibility either on individual page or for all subsequent pages.
209
266
 
210
267
  ## [4.5.2] - 2022-06-10
268
+
211
269
  ### Fixed
270
+
212
271
  - (internal) Expected in report is reset properly
213
272
  - if a test used "the Scenario report should include ...", then all tests that were
214
273
  run after that would pass even if the test itself failed but wasn't expected to fail
215
274
 
216
275
  ## [4.5.1] - 2022-06-10
276
+
217
277
  ### Fixed
278
+
218
279
  - Corrected some schema errors in the `action.yml` (the `run` key was specified twice, should only have been once, and `required: False` is needed
219
280
  for optional inputs)
220
281
 
221
282
  ## [4.5.0] - 2022-05-23
283
+
222
284
  ### Added
285
+
223
286
  - Steps that tap tabs (made using the `tabbed_templates_html` function from ALToolbox) and other arbitrary elements on the page.
224
287
 
225
288
  ## [4.4.0] - 2022-05-23
289
+
226
290
  ### Added
291
+
227
292
  - Appends the results of the cucumber [summary formatter](https://github.com/cucumber/cucumber-js/blob/main/docs/formatters.md#summary) to the `debug_log.txt`, which includes useful stack traces into the Kiln code when tests fail.
228
293
 
229
294
  ### Fixed
295
+
230
296
  - Prevent login info from being saved in the report or screenshots being taken on error. [#599](https://github.com/SuffolkLITLab/ALKiln/issues/559).
231
297
  - Prevent error screenshots of screens that used a secret.
232
298
 
233
299
  ## [4.3.0] - 2022-04-07
300
+
234
301
  ### Added
302
+
235
303
  - GitHub environment variable `MAX_SECONDS_FOR_SETUP` to set a custom maximum time for setup and takedown for packages that take a long time to load.
236
304
 
237
305
  ## [4.2.0] - 2022-04-05
306
+
238
307
  ### Changed
308
+
239
309
  - Pin versions of dependencies in action.yml and package.json
240
310
  - Change log.txt file to debug_log.txt and upload as github artifact.
241
311
  - Update cheerio version to remove vulnerabilities.
242
312
 
243
313
  ## [4.1.1] - 2022-04-01
314
+
244
315
  ### Added
316
+
245
317
  - Step to set vars to secret variables. That is, using environment variables while hiding the names of those variables in the report, errors, and console logs.
246
318
 
247
319
  ## [4.0.0] - 2022-03-30
320
+
248
321
  ### Added
322
+
249
323
  - BREAKING: Add package.json creation/overwriting to action.yml. Simplify package.json.
250
324
  - BREAKING: Add action.yml that runs most of what users' workflows run now, along with notes for a new user workflow that will take less maintainance. See #420. We need to add documentation on how to write a workflow file as it currently is if they want to take back control. Setup interview has not yet been updated with this workflow.
251
325
  - Step: `the text in the JSON variable "variable_with_text_value" should be`. Compare JSON variable with a text value to given text. See #470. Does not accept nested values, e.g. "child.name.first". Downloads all the JSON vars to a .json file in the "downloads" artifacts.
@@ -255,6 +329,7 @@ Format:
255
329
  - Add control of alkiln npm version to the action.yml
256
330
 
257
331
  ### Changed
332
+
258
333
  - BREAKING: NPM package is now suffolklitlab scoped package. Refer to @suffolklitlab/alkiln from now on.
259
334
  - BREAKING: Update to v13 of puppeteer
260
335
  - BREAKING: Update to v7 of cucumber
@@ -265,14 +340,16 @@ Format:
265
340
  - Update test setup interview to v4 of ALKiln.
266
341
  - Remove and ignore package-lock.json so that our tests will behave more like our users' tests
267
342
  - Add warning in steps.js for name input with too many parts. Add test in reports.
268
- - fix typo in the report
343
+ - fix typo in the report
269
344
  - Allow a developer to wait as a first Step. See #387.
270
345
 
271
346
  <!-- ## [3.0.1-peer-deps.1] - 2021-12-07 -->
272
347
  ### Removed
273
- - Peer dependencies and dev dependencies. Now `cucumber` is just a dependency. See https://github.com/SuffolkLITLab/ALKiln/issues/396 for discussion. Setup interview has not been updated to remove dependencies.
348
+
349
+ - Peer dependencies and dev dependencies. Now `cucumber` is just a dependency. See <https://github.com/SuffolkLITLab/ALKiln/issues/396> for discussion. Setup interview has not been updated to remove dependencies.
274
350
 
275
351
  ### Fixed
352
+
276
353
  - Proxy var story table row matches for any page containing the given variable name when there's only one row for the relevant variable. #464.
277
354
  - Fixed interview name not allowing url parameters. #449
278
355
  - Freeze colors npm package to before bug in both package.json and action.yml
@@ -281,222 +358,317 @@ Format:
281
358
  - session_vars branch path regex not removing start of branch path
282
359
 
283
360
  ## [3.2.1] - 2022-02-09
361
+
284
362
  ### Fixed
363
+
285
364
  - Typo in report that was messing up copy/paste of test table
286
365
 
287
366
  ## [3.2.0] - 2022-02-09
367
+
288
368
  ### Added
369
+
289
370
  - Add Step to log into server account using GitHub SECRETs (environment variables). See #499.
290
371
 
291
372
  ## [3.1.11] - 2022-02-02
373
+
292
374
  ### Changed
375
+
293
376
  - Handle an Assembly Line name Step value that has too many names, including a warning for the developer. Include the first three names and the last name to try to catch suffixes.
294
377
 
295
378
  ## [3.0.11] - 2022-01-25
379
+
296
380
  ### Added
381
+
297
382
  - Step: `the text in the JSON variable "variable_with_text_value" should be`. Compare JSON variable with a text value to given text. See #470. Does not accept nested values, e.g. "child.name.first". Downloads all the JSON vars to a .json file in the "downloads" artifacts.
298
383
 
299
384
  ## [3.0.10] - 2022-01-24
385
+
300
386
  ### Added
387
+
301
388
  - Step to log the page's JSON variables and values in the report. Future goal: save to file. See #454.
302
389
 
303
390
  ## [3.0.9] - 2022-01-10
391
+
304
392
  ### Security
393
+
305
394
  - Install the security fix in the action's package.json as well. Because dependents have to require cucumber itself, if they're not using our action (if they have their own package.json), they're going to have to implement this fix in their repo too. That's why our fix isn't working. We'll start the process of helping developers update. We also need to deprecate all previous versions of ALKiln. See #489.
306
395
 
307
396
  ## [3.0.8] - 2022-01-10
397
+
308
398
  ### Security
399
+
309
400
  - Fully publish the security fix in v3.0.7
310
401
 
311
402
  ## [3.0.7] - 2022-01-10
403
+
312
404
  ### Security
313
- - Pinned colors library to 1.4.0. See https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/. We don't use faker, so we don't need to handle that.
405
+
406
+ - Pinned colors library to 1.4.0. See <https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/>. We don't use faker, so we don't need to handle that.
314
407
 
315
408
  ## [3.0.6] - 2022-01-07
409
+
316
410
  ### Changed
411
+
317
412
  - See #371
318
413
  - Scenario heading tags are now on a second line
319
414
  - Artifact filenames use dashes more and are created separately from Scenario headings
320
415
  - Scenario ids are separated from filenames and Scenario headings
321
416
 
322
417
  ## [3.0.5] - 2022-01-06
418
+
323
419
  ### Added
420
+
324
421
  - Add action.yml that runs most of what users' workflows run now, along with notes for a new user workflow that will take less maintainance. See #420. We need to add documentation on how to write a workflow file as it currently is if they want to take back control. Setup interview has not yet been updated with this workflow.
325
422
  - Add package.json creation/overwriting to action.yml. Simplify package.json.
326
423
 
327
424
  <!-- ## [3.0.1-peer-deps.1] - 2021-12-07 -->
328
425
  ### Removed
329
- - Peer dependencies and dev dependencies. Now `cucumber` is just a dependency. See https://github.com/SuffolkLITLab/ALKiln/issues/396 for discussion. Setup interview has not been updated to remove dependencies.
426
+
427
+ - Peer dependencies and dev dependencies. Now `cucumber` is just a dependency. See <https://github.com/SuffolkLITLab/ALKiln/issues/396> for discussion. Setup interview has not been updated to remove dependencies.
330
428
 
331
429
  ### Fixed
430
+
332
431
  - Fixed interview name not allowing url parameters. #449
333
432
 
334
433
  ## [3.0.4] - 2021-12-11
434
+
335
435
  ### Fixed
436
+
336
437
  - Use different criteria for testing that the package was saved.
337
438
 
338
439
  ## [3.0.3] - 2021-12-11
440
+
339
441
  ### Fixed
340
- - Implement a temporary fix for inability to pull private repos into empty da Projects. See https://github.com/SuffolkLITLab/ALKiln/issues/417#issuecomment-991812294
442
+
443
+ - Implement a temporary fix for inability to pull private repos into empty da Projects. See <https://github.com/SuffolkLITLab/ALKiln/issues/417#issuecomment-991812294>
341
444
 
342
445
  ## [3.0.2] - 2021-12-10
446
+
343
447
  ### Changed
448
+
344
449
  - Improve some error messages and handling for the new private repo workflow.
345
450
 
346
451
  ## [3.0.1] - 2021-12-10
452
+
347
453
  ### Fixed
348
- - Allow authenticated GitHub user to pull from a private repository for which they have at least read permissions.
349
454
 
455
+ - Allow authenticated GitHub user to pull from a private repository for which they have at least read permissions.
350
456
 
351
457
  ## [3.0.0] - 2021-12-07
458
+
352
459
  ### Changed
460
+
353
461
  - v3 release to update to da Bootstrap 5. Breaks for servers that have not yet updated to that da version.
354
462
 
355
463
  ## [2.7.0-pre-update-dom.4] - 2021-12-03
464
+
356
465
  ### Changed
466
+
357
467
  - Give test resetting, a common failure point, a couple of tries and add a warning and instructions about simply re-running the tests.
358
468
 
359
469
  ## [2.7.0-pre-update-dom.3] - 2021-12-02
470
+
360
471
  ### Fixed
361
- - Abandon puppeteer clicks and handle them all ourselves. This means people can't run a mobile device because they can't tap. It takes some implementation. See https://stackoverflow.com/a/56547605/14144258.
472
+
473
+ - Abandon puppeteer clicks and handle them all ourselves. This means people can't run a mobile device because they can't tap. It takes some implementation. See <https://stackoverflow.com/a/56547605/14144258>.
362
474
 
363
475
  ## [2.7.0-pre-update-dom.2] - 2021-12-02
476
+
364
477
  ### Fixed
365
- - Quick fix for frequent timeout errors. See https://github.com/SuffolkLITLab/ALKiln/issues/389#issuecomment-984844240, Option 1 - disable cucumber timeout and, instead, handle timeout errors to allow 3 attempts to load an interview. For future development, convert to API key to check if server is restarting.
478
+
479
+ - Quick fix for frequent timeout errors. See <https://github.com/SuffolkLITLab/ALKiln/issues/389#issuecomment-984844240>, Option 1 - disable cucumber timeout and, instead, handle timeout errors to allow 3 attempts to load an interview. For future development, convert to API key to check if server is restarting.
366
480
 
367
481
  ## [2.7.0-pre-update-dom] - 2021-11-22
482
+
368
483
  ### Changed
484
+
369
485
  - Update to Bootstrap 5 Docassemble DOM changes
370
486
  - Remove test(s?) for guessing proxy vars as we don't do that anymore #221
371
487
  - Added instructions for using tags when running cucumber tests
372
488
  - Handle clicking in `tapElement()` ourselves now instead of with puppeteer. See previous commit for the change.
373
489
 
374
490
  ## [2.6.0] - 2021-08-07
491
+
375
492
  ### Added
493
+
376
494
  - 'today' and 'today - 1' for setting dates
377
495
 
378
496
  ## [2.5.4] - 2021-08-07
497
+
379
498
  ### Fixed
499
+
380
500
  - In page load, total timeout needs to be checked in more places to give useful error message before Step fully times out.
381
501
 
382
502
  ## [2.5.3] - 2021-08-06
503
+
383
504
  ### Fixed
505
+
384
506
  - Not giving enough time for package to load - failing too soon on error of module not found.
385
- - Not waiting for package page to appear on setup: https://github.com/plocket/docassemble-cucumber/issues/367#issuecomment-892591770. I believe we tried this in the past and it wasn't enough.
507
+ - Not waiting for package page to appear on setup: <https://github.com/plocket/docassemble-cucumber/issues/367#issuecomment-892591770>. I believe we tried this in the past and it wasn't enough.
386
508
 
387
509
  ## [2.5.2] - 2021-08-03
510
+
388
511
  ### Fixed
512
+
389
513
  - Wrong error when server times out on page load.
390
514
 
391
515
  ## [2.5.1] - 2021-07-31
516
+
392
517
  ### Added
518
+
393
519
  - Tests for failed Scenarios and their reports
394
520
 
395
521
  ### Changed
522
+
396
523
  - Tweak report wording
397
524
 
398
525
  ### Fixed
526
+
399
527
  - Internal report check logic
400
528
  - Loading page did not catch system error and re-trying without timeout was not robust.
401
529
 
402
530
  ## [2.5.0] - 2021-07-31
531
+
403
532
  ### Added
533
+
404
534
  - Report line for error on load.
405
535
  - Internal testing Step to test contents of reports include certain content.
406
536
  - Internal testing Step to check passing tests should be passing and failing ones should be failing.
407
537
 
408
538
  ## [2.4.2] - 2021-07-31
539
+
409
540
  ### Fixed
541
+
410
542
  - Steps that set vars (other than the story table) should fail when they can't set their var, but they did not fail.
411
543
 
412
544
  ## [2.4.1] - 2021-07-24
545
+
413
546
  ### Fixed
547
+
414
548
  - Upload Step wasn't waiting for files to finish uploading
415
549
 
416
550
  ## [2.4.0] - 2021-07-23
551
+
417
552
  ### Added
553
+
418
554
  - Values can be set to comma-separated list of names of files to upload to upload multiple files. Files must be in the package's 'sources' folder or in the 'tests/features' folder.
419
555
 
420
556
  ### Changed
557
+
421
558
  - Increased `showif_timeout` because a hidden field missed getting set via a race condition. The only explanation we could come up with was that the field wasn't shown fast enough.
422
559
  - Allow duplicates of '[class="file-caption-name"]' fields as they should not be dangerous.
423
560
 
424
561
  ## [2.3.0] - 2021-07-22
562
+
425
563
  ### Changed
564
+
426
565
  - Report: List failed scenarios first, other non-passing scenarios second (should not run into those much I think), and passed scenarios last.
427
566
  - Two internal tests adjusted to be 10 secs shorter each
428
567
  - One internal test tag updated
429
568
 
430
569
  ### Fixed
570
+
431
571
  - Some report ids not being recorded because old id from previous test was not different from new id in new scenario.
432
572
 
433
573
  ## [2.2.3] - 2021-07-18
574
+
434
575
  ### Changed
576
+
435
577
  - Updated package-lock.json with `npm fix` based on `npm audit`
436
578
 
437
579
  ## [2.2.2] - 2021-07-16
580
+
438
581
  ### Fixed
582
+
439
583
  - `toBase64` returns default valid base 64 value with clear name if needed
440
584
 
441
585
  ### Added
586
+
442
587
  - Clarifying code comments
443
588
 
444
589
  ## [2.2.1] - 2021-07-14
590
+
445
591
  ### Fixed
592
+
446
593
  - Variable undefined in scope.js (message)
447
594
 
448
595
  ## [2.2.0] - 2021-07-12
596
+
449
597
  ### Added
598
+
450
599
  - Tests for reports for unexpected failures
451
600
 
452
601
  ### Changed
602
+
453
603
  - Bump minor version for added timeout behavior, etc.
454
604
 
455
605
  ## [2.1.8] - 2021-07-11
606
+
456
607
  ### Added
608
+
457
609
  - Step: Custom global timeout, #317, for when interviews know they'll need longer timeouts for such things as loading large documents.
458
610
 
459
611
  ### Changed
612
+
460
613
  - Timeout is now 30 sec instead of 2 min as individual devs can set a custom timeout for their scenarios. We've made an assumption that this will be enough for most interviews and will have to see if that bears out.
461
614
 
462
615
  ## [2.1.7] - 2021-07-08
616
+
463
617
  ### Added
618
+
464
619
  - More detailed reports that print 1. variables that were set on each page 2. all rows that set variables, and 3. all rows that weren't used
465
620
 
466
621
  ## [2.1.6] - 2021-07-07
622
+
467
623
  ### Added
624
+
468
625
  - Backwards compatibility with `#sought_variable` element.
469
626
  - Report tests
470
627
 
471
628
  ### Fixed
629
+
472
630
  - Typo in report
473
631
 
474
632
  ## [2.1.5] - 2021-07-07
633
+
475
634
  ### Changed
635
+
476
636
  - Not sure. Can't find this commit.
477
637
 
478
638
  ## [2.1.4] - 2021-07-06
639
+
479
640
  ### Fixed
641
+
480
642
  - Var name typos in `scope.ensureSpecialRows()`
481
643
 
482
644
  ## [2.1.3] - 2021-07-06
645
+
483
646
  ### Added
647
+
484
648
  - Reports now also show data about which variables were used on each page, as well as a list of which variables from a story table were used and which weren't.
485
649
 
486
650
  ## [2.1.2] - 2021-07-04
651
+
487
652
  ### Changed
653
+
488
654
  - Refactor `scope.processVar()`, including rename
489
655
 
490
656
  ## [2.1.1] - 2021-07-04
657
+
491
658
  ### Changed
659
+
492
660
  - Use new Buffer reference instead of old deprecated reference.
493
661
 
494
662
  ## [2.1.0] - 2021-07-01
663
+
495
664
  ### Added
665
+
496
666
  - Support interview filenames ending in `.yml` in the first step
497
667
 
498
668
  ## [2.0.0] - 2021-06-29
669
+
499
670
  ### Added
671
+
500
672
  - Support for `.there_is_another` loops in story tables using `.target_number`
501
673
  - New step: 'I should see the link to' and its test.
502
674
  - 'I get to' is available in the `And I get to the question "some id" with this data:` instead of just 'the user gets to'
@@ -507,7 +679,8 @@ Format:
507
679
  - Move debug logs for getMatchingRow and getPageData to appropriate places.
508
680
 
509
681
  ### Changed
510
- - Added `trigger` column to table to define trigger var (| var | value | checked | trigger |). See https://github.com/plocket/docassemble-cucumber/issues/256. This allows devs to use index vars and generic objects (proxy vars) freely in their interview.
682
+
683
+ - Added `trigger` column to table to define trigger var (| var | value | checked | trigger |). See <https://github.com/plocket/docassemble-cucumber/issues/256>. This allows devs to use index vars and generic objects (proxy vars) freely in their interview.
511
684
  - Tried to make element selectors more picky.
512
685
  - Make screenshot names unique and line up alphabetically with timestamps.
513
686
  - Allow more languages in scenario name.
@@ -518,42 +691,57 @@ Format:
518
691
  - Updated tests to match new functionality.
519
692
 
520
693
  ### Deprecated
694
+
521
695
  - Previous formats of the table: `| var | choice | value |` *and* `| var | value | checked |`
522
696
 
523
697
  ### Removed
698
+
524
699
  - Some Steps that won't work with translations and are not currently being used by anyone. TODO: Look up and ennumerate which steps.
525
700
  - `checked` column.
526
701
  - `scope.getField()` and other now unused scope functionality.
527
702
 
528
703
  ### Fixed
704
+
529
705
  - Assert found invalid input.
530
706
  - 'I sign' was passing incorrect arguments.
531
707
  - Regex testing for match to proxy var - both the regex itself being more strict and the test for a match being more predictable.
532
708
  - #202 handles accidental mixup of single quotes for double quotes or visa versa in all columns.
533
709
 
534
710
  ## [1.3.5] - 2021-05-04
711
+
535
712
  ### Added
713
+
536
714
  - Handles setting [AssemblyLine](https://github.com/SuffolkLITLab/docassemble-AssemblyLine) ([ALToolbox](https://github.com/SuffolkLITLab/docassemble-ALToolbox)) `BirthDate` datatype. [See example of HTML here](https://github.com/plocket/docassemble-cucumber/pull/217).
537
715
 
538
716
  ## [1.3.4] - 2021-04-21
717
+
539
718
  ### Fixed
719
+
540
720
  - Dropdowns created with objects always fail.
541
721
 
542
722
  ## [1.3.3] - 2021-04-16
723
+
543
724
  ### Changed
544
- - This repo no longer has an action to generate test folders and scripts in the dependant repo. From now on, devs will use the interview in https://github.com/plocket/docassemble-ALAutomatedTestingTests to add it themselves. Note: That interview will put the tests in the `/sources` dir. Previous repos' scripts will continue as they are.
725
+
726
+ - This repo no longer has an action to generate test folders and scripts in the dependant repo. From now on, devs will use the interview in <https://github.com/plocket/docassemble-ALAutomatedTestingTests> to add it themselves. Note: That interview will put the tests in the `/sources` dir. Previous repos' scripts will continue as they are.
545
727
 
546
728
  ## [1.3.2] - 2021-04-07
729
+
547
730
  ### Changed
731
+
548
732
  - Each test run creates a unique da Project now. No need to wait for previous tests to finish.
549
733
 
550
734
  ## [1.3.1] - 2021-04-07
735
+
551
736
  ### Fixed
737
+
552
738
  - Message about duplicate selector matches.
553
- - Bump _minor_ version number appropriately.
739
+ - Bump *minor* version number appropriately.
554
740
 
555
741
  ## [1.2.8] - 2021-04-06
742
+
556
743
  ### Fixed
744
+
557
745
  - Newly found race condition on 'continue'. Can replicate inside of [DBD](https://github.com/caroRob/docassemble-DeadBrokeDads2/tree/add_tests_to_separating_interview_code_etc) very consistently, but not outside of it. See [#190](https://github.com/plocket/docassemble-cucumber/issues/190).
558
746
  - Make action buttons more permissive. Some action buttons don't lead to an event, they just have a url. See [#200](https://github.com/plocket/docassemble-cucumber/issues/200).
559
747
  - Fix all checkboxes getting checked no matter what.
@@ -561,73 +749,98 @@ Format:
561
749
  - Incorrect truthy test.
562
750
 
563
751
  ### Added
752
+
564
753
  - New warning in report about variable appearing on a page in multiple places.
565
754
 
566
755
  ## [1.2.7] - 2021-04-05
756
+
567
757
  ### Changed
758
+
568
759
  - A new table format is highly encouraged: `| var | value | checked |`. var = variable name, value = words of the value to set, checked = whether to select or unselect a checkbox (only needed for checkboxes).
569
760
  - Basically, address much of [#158](https://github.com/plocket/docassemble-cucumber/issues/158), as noted below.
570
761
 
571
762
  ### Deprecated
763
+
572
764
  - Previous version of table columns format (`| var | choice | value |`). The new version uses `| var | value | checked |`, though we do need a better name than `checked`. It will simplify the table for developers and for the code.
573
765
 
574
766
  ### Fixed
767
+
575
768
  - Some proxy field var name finding
576
769
  - Improved page var name finding in general
577
770
  - Refactored to get all fields from the page first, then compare to a new format of table
578
771
 
579
772
  ## [1.2.6] - 2021-03-14
773
+
580
774
  ### Added
775
+
581
776
  - Automated integrated self-testing
582
777
  - Unit tests for getField with cheerio
583
778
  - Refactor getField to use data
584
779
 
585
780
  ### Fixed
781
+
586
782
  - Infinite loop when specific button tap causes error #168
587
783
  - Some items not getting selected at all (scroll into view problem)
588
784
 
589
785
  ## [1.2.5] - 2021-03-06
786
+
590
787
  ### Fixed
788
+
591
789
  - Simplest case of [index var](https://github.com/plocket/docassemble-cucumber/issues/158) (i.e. `i`) question.
592
790
 
593
791
  ## [1.2.4] - 2021-03-03
792
+
594
793
  ### Fixed
794
+
595
795
  - Race condition where puppeteer thinks the page has progressed but it really hasn't.
596
796
 
597
797
  ## [1.2.3] - 2021-02-07
798
+
598
799
  ### Fixed
800
+
599
801
  - Options of dropdown fields created with objects are not found [#149](https://github.com/plocket/docassemble-cucumber/issues/149)
600
802
 
601
803
  ## [1.2.2] - 2021-02-03
804
+
602
805
  ### Fixed
806
+
603
807
  - Signature field rows (`/sign`) are not used up all in one loop
604
808
 
605
809
  ### Added
810
+
606
811
  - .env-example file to files that will be pushed to dependants
607
812
 
608
813
  ## [1.2.1] - 2021-01-26
814
+
609
815
  ### Fixed
816
+
610
817
  - #79, race condition breaks story table scenarios (ex: MADE `rental agreement`)
611
818
  - #115, order of table items matter - continue button pressed too soon
612
819
  - #139, `scope.getField()` `set_to` doesn't find all the fields
613
820
 
614
-
615
821
  ## [1.2.0] - 2021-01-13
822
+
616
823
  ### Changed
824
+
617
825
  - Reports are saved as `.txt` files instead of `.md` files.
618
826
  - Reports are prettier.
619
827
  - Story table: If there are only two columns needed in a table row, the table doesn't care which columns the second item is in. This is to allow generated tests to work without a human editing them.
620
828
  - Automatically generated language tags now handle spaces.
621
829
 
622
830
  ### Fixed
831
+
623
832
  - Broken error message - showed the wrong error.
624
833
 
625
834
  ## [1.1.0] - 2021-01-13
835
+
626
836
  ### Changed
837
+
627
838
  - Skipped this version somehow. Was sure it was in there somewhere...
628
839
 
629
840
  ## [1.0.0] - 2021-01-13
841
+
630
842
  ### Added
843
+
631
844
  - Steps for setting variables, interacting with elements, and observing (to be documented elsewhere TODO: add link)
632
845
  - 'Story' table - a Step with a cucumber table that can set several variables until a specified `question id` is reached
633
846
  - Translations support - many Steps that work with any language, including the 'story' table
package/action.yml CHANGED
@@ -18,7 +18,6 @@ inputs:
18
18
  MAX_SECONDS_FOR_SETUP:
19
19
  description: "Amount of time to give the Project to upload your package's GitHub code."
20
20
  required: false
21
- default: '120'
22
21
  SERVER_RELOAD_TIMEOUT_SECONDS:
23
22
  description: "Max amount of time to give the server to reload if it needs to"
24
23
  required: false
package/lib/steps.js CHANGED
@@ -722,7 +722,7 @@ Then(/the "([^"]+)" link opens a working page/, { timeout: -1 }, async ( linkTex
722
722
  );
723
723
  });
724
724
 
725
- When('I tap to continue', { timeout: -1 }, async () => {
725
+ When(/I tap to continue/i, { timeout: -1 }, async () => {
726
726
  // Any selectors for this seem somewhat precarious
727
727
  // No data will cause an automatic continue when `ensure_navigation` is true
728
728
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@suffolklitlab/alkiln",
3
- "version": "5.1.0",
3
+ "version": "5.2.0",
4
4
  "description": "Integrated automated end-to-end testing with docassemble, puppeteer, and cucumber.",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {