@suffolklitlab/alkiln 5.0.2-feat-github-server-6 → 5.0.2-feat-github-server-7

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 (46) hide show
  1. package/.github/workflows/github_server.yml +1 -1
  2. package/CONTRIBUTING.md +1 -1
  3. package/docassemble/setup.py +61 -0
  4. package/github_server/action.yml +2 -2
  5. package/lib/scope.js +1 -2
  6. package/package.json +1 -1
  7. package/setup.py +2 -2
  8. package/docassemble/ALKiln/__init__.py +0 -1
  9. package/docassemble/ALKiln/data/questions/AL_tests.yml +0 -40
  10. package/docassemble/ALKiln/data/questions/all_tests.yml +0 -312
  11. package/docassemble/ALKiln/data/questions/test.yml +0 -14
  12. package/docassemble/ALKiln/data/questions/test_date_and_time.yml +0 -34
  13. package/docassemble/ALKiln/data/questions/test_decoding.yml +0 -101
  14. package/docassemble/ALKiln/data/questions/test_kickout.yml +0 -37
  15. package/docassemble/ALKiln/data/questions/test_languages.yml +0 -26
  16. package/docassemble/ALKiln/data/questions/test_longest_filepath.yml +0 -19
  17. package/docassemble/ALKiln/data/questions/test_loops.yml +0 -66
  18. package/docassemble/ALKiln/data/questions/test_missing_var_error_screen.yml +0 -9
  19. package/docassemble/ALKiln/data/questions/test_random_input.yml +0 -83
  20. package/docassemble/ALKiln/data/questions/test_secret_vars.yml +0 -32
  21. package/docassemble/ALKiln/data/questions/test_signature.yml +0 -25
  22. package/docassemble/ALKiln/data/questions/test_taps.yml +0 -43
  23. package/docassemble/ALKiln/data/questions/test_trigger.yml +0 -25
  24. package/docassemble/ALKiln/data/questions/url_args.yml +0 -33
  25. package/docassemble/ALKiln/data/sources/README.md +0 -4
  26. package/docassemble/ALKiln/data/sources/ar.xlsx +0 -0
  27. package/docassemble/ALKiln/data/sources/assembly_line.feature +0 -43
  28. package/docassemble/ALKiln/data/sources/es.xlsx +0 -0
  29. package/docassemble/ALKiln/data/sources/establishing_steps.feature +0 -62
  30. package/docassemble/ALKiln/data/sources/example_test.feature +0 -11
  31. package/docassemble/ALKiln/data/sources/filepaths.feature +0 -9
  32. package/docassemble/ALKiln/data/sources/interactive_steps.feature +0 -172
  33. package/docassemble/ALKiln/data/sources/languages.feature +0 -36
  34. package/docassemble/ALKiln/data/sources/observation_steps.feature +0 -174
  35. package/docassemble/ALKiln/data/sources/random_input.feature +0 -36
  36. package/docassemble/ALKiln/data/sources/reload.feature +0 -155
  37. package/docassemble/ALKiln/data/sources/reports.feature +0 -574
  38. package/docassemble/ALKiln/data/sources/some_png_1.png +0 -0
  39. package/docassemble/ALKiln/data/sources/some_png_2.png +0 -0
  40. package/docassemble/ALKiln/data/sources/story_table_formats.feature +0 -125
  41. package/docassemble/ALKiln/data/sources/story_tables.feature +0 -139
  42. package/docassemble/ALKiln/data/static/README.md +0 -4
  43. package/docassemble/ALKiln/data/static/styles.css +0 -46
  44. package/docassemble/ALKiln/data/templates/README.md +0 -3
  45. package/docassemble/ALKiln/data/templates/simple.pdf +0 -0
  46. package/tmp.bash +0 -7
@@ -1,36 +0,0 @@
1
- @langs
2
- Feature: Multi-language tests
3
-
4
- # Usually only run default test and skip or shorten others
5
- # When commanded, run all non-default language tests
6
-
7
- # We'll need to test these manually each time, as our users would,
8
- # and check that the automatic tests didn't trigger the language
9
- # tests
10
-
11
- # Tag use examples:
12
- # # No tags to test all languages
13
- # @es # language tag to isolate one language
14
-
15
- # The screenshot will help us check manually that the right stuff is
16
- # going on
17
- @l1
18
- Scenario Outline: language url
19
- Given I start the interview at "test_languages.yml<arg>"
20
- Then I SHOULD see the phrase "<text>"
21
- And I take a screenshot
22
-
23
- @en
24
- Examples: english
25
- | arg | text |
26
- | &new_session=1&lang=en | English page |
27
-
28
- @es
29
- Examples: spanish
30
- | arg | text |
31
- | &new_session=1&lang=es | Español page |
32
-
33
- @ar
34
- Examples: arabic
35
- | arg | text |
36
- | &new_session=1&lang=ar | عربي page |
@@ -1,174 +0,0 @@
1
- @observation
2
- Feature: Observational steps
3
-
4
- # In tag names, 'o' is for 'observational'
5
-
6
- @fast @o1
7
- Scenario: I observe things on a single page when I arrive
8
-   Given I start the interview at "all_tests"
9
- And I tap to continue
10
- Then the question id should be "group of complex fields"
11
- And I should see the phrase "Some complex fields"
12
- And I SHOULD see the phrase "Some complex fields"
13
- And I should not see the phrase "zzzzzzz"
14
- And I should NOT see the phrase "zzzzzzz"
15
- And an element should have the id "daform"
16
-
17
- @fast @o2
18
- Scenario: I see user errors.
19
- # They're everywhere. Some don't even know they are errors.
20
-   Given I start the interview at "all_tests"
21
- And I tap to continue
22
- And I tap to continue
23
- And I tap to continue
24
- Then I can't continue
25
- And I will be told an answer is invalid
26
-
27
- @fast @o3
28
- Scenario: I can include .yml in the filename
29
-   Given I start the interview at "all_tests.yml"
30
-
31
- @slow @o4
32
- Scenario: I check navigation
33
-   Given I start the interview at "all_tests"
34
- And I tap to continue
35
-   And I get to "showifs" with this data:
36
- | var | value | trigger |
37
- | double_quote_dict["double_quote_key"]['dq_two'] | true | |
38
- | checkboxes_other['checkbox_other_opt_1'] | true | |
39
- | dropdown_test | dropdown_opt_2 | |
40
- | radio_yesno | False | false |
41
- | radio_other | radio_other_opt_3 | |
42
- | single_quote_dict['single_quote_key']['sq_two'] | true | |
43
- | text_input | Regular text input field value | |
44
- | textarea | Multiline text\narea value | |
45
- | date_input | today | |
46
- Then I arrive at the next page
47
-   Then I get to "screen features" with this data:
48
- | var | value | trigger |
49
- | object_checkboxes_test["obj_chkbx_opt_1"] | True | |
50
- | object_dropdown | obj_opt_2 | |
51
- | button_continue | True | |
52
- | buttons_other | button_2 | |
53
- | buttons_yesnomaybe | True | |
54
- And I should see the link to "http://ecosia.org/"
55
-
56
- @fast @o4
57
- Scenario: Test "Then I don't continue" with a single quote
58
-   Given I start the interview at "all_tests"
59
- And I tap to continue
60
- And I tap to continue
61
- And I tap to continue
62
- Then I don't continue
63
- And I will be told an answer is invalid
64
-
65
- @fast @o5
66
- Scenario: Test "Then I cannot continue"
67
-   Given I start the interview at "all_tests"
68
- And I tap to continue
69
- And I tap to continue
70
- And I tap to continue
71
- Then I cannot continue
72
- And I will be told an answer is invalid
73
-
74
- @fast @o6
75
- Scenario: Test "Then I do not continue"
76
-   Given I start the interview at "all_tests"
77
- And I tap to continue
78
- And I tap to continue
79
- And I tap to continue
80
- Then I do not continue
81
- And I will be told an answer is invalid
82
-
83
- @fast @o7
84
- Scenario: Test "Then I can’t continue" with an apostrophe
85
-   Given I start the interview at "all_tests"
86
- And I tap to continue
87
- And I tap to continue
88
- And I tap to continue
89
- Then I can’t continue
90
- And I will be told an answer is invalid
91
-
92
- @fast @o8
93
- Scenario: Test "Then I don’t continue" with an apostrophe
94
-   Given I start the interview at "all_tests"
95
- And I tap to continue
96
- And I tap to continue
97
- And I tap to continue
98
- Then I don’t continue
99
- And I will be told an answer is invalid
100
-
101
- @fast @o9 @table @json
102
- Scenario: I can match JSON page var to str
103
- Given I start the interview at "all_tests.yml"
104
-   And I get to "showifs" with this data:
105
- | var | value | trigger |
106
- | double_quote_dict["double_quote_key"]['dq_two'] | true | |
107
- | checkboxes_other['checkbox_other_opt_1'] | true | |
108
- | dropdown_test | dropdown_opt_2 | |
109
- | radio_yesno | False | false |
110
- | radio_other | radio_other_opt_3 | |
111
- | single_quote_dict['single_quote_key']['sq_two'] | true | |
112
- | text_input | Regular text input field value | |
113
- | textarea | Multiline text\narea value | |
114
- | date_input | today | |
115
- Then the text in the JSON variable "dropdown_test" should be
116
- """
117
- dropdown_opt_2
118
- """
119
-
120
- # Maybe this one should be in the report tests (as well?)
121
- @fast @o10 @json
122
- Scenario: I get the page's JSON
123
- Given I start the interview at "all_tests"
124
- Then I get the page's JSON variables and values
125
-
126
- @fast @o11a @screenshot
127
- Scenario: I take a screenshot
128
-   Given I start the interview at "all_tests"
129
- Then I take a screenshot
130
- Then I take a screenshot named "some-screenshot"
131
-
132
- @fast @o11b @screenshot
133
- Scenario: I take a pic
134
-   Given I start the interview at "all_tests"
135
- Then I take a pic
136
- Then I take a pic named "some-pic"
137
-
138
- @slow @o12 @accessibility @a11y
139
- Scenario: I check the pages for accessibility
140
- Given I start the interview at "all_tests"
141
- And I check all pages for accessibility issues
142
- And I tap to continue
143
-   Then I get to "screen features" with this data:
144
- | var | value | trigger |
145
- | double_quote_dict["double_quote_key"]['dq_two'] | true | |
146
- | checkboxes_other['checkbox_other_opt_1'] | true | |
147
- | dropdown_test | dropdown_opt_2 | |
148
- | radio_yesno | False | false |
149
- | radio_other | radio_other_opt_3 | |
150
- | object_checkboxes_test["obj_chkbx_opt_1"] | True | |
151
- | object_dropdown | obj_opt_2 | |
152
- | object_select_test | obj_chkbx_opt_2 | |
153
- | single_quote_dict['single_quote_key']['sq_two'] | true | |
154
- | text_input | Regular text input field value | |
155
- | textarea | Multiline text\narea value | |
156
- | date_input | today | |
157
- | button_continue | True | |
158
- | buttons_other | button_2 | |
159
- | buttons_yesnomaybe | True | |
160
-
161
- @fast @o13 @signature @screenshot
162
- Scenario: I take a screenshot of the signature
163
- Given I start the interview at "test_signature.yml"
164
- And I sign
165
- And I take a screenshot
166
- Then I tap to continue
167
-
168
- @fast @o14 @date @time
169
- Scenario: I enter the date and time
170
- Given I start the interview at "test_date_and_time.yml"
171
- And I get to "the end" with this data:
172
- | date_input | today | |
173
- | time_input | 12:34 PM | |
174
-
@@ -1,36 +0,0 @@
1
- @random_input
2
- Feature: Random input
3
-
4
- # TODO: get navigation worked out before re-implementing
5
- # random input tests. ThreePartsDate validation slows
6
- # navigation enough to mess up our current detection
7
- # methods.
8
-
9
- # In tag names, 'ri' is for 'random input'
10
-
11
- #@fast @ri1 @random
12
- #Scenario: I fill in random input till the end
13
- #  Given I start the interview at "test_random_input"
14
- # And I answer randomly for at most 20 pages
15
- # Then the question id should be "end"
16
- #
17
- #@fast @ri2 @random
18
- #Scenario: I fill in random input for 1 page
19
- #  Given I start the interview at "test_random_input"
20
- # And I answer randomly for at most 1 page
21
- #
22
- ## Should create two unique folders for random step screenshots which
23
- ## must be checked manually
24
- #@fast @ri3 @random
25
- #Scenario: I answer randomly till the end twice
26
- # Given I start the interview at "test_random_input"
27
- # And I answer randomly for at most 50 pages
28
- # Given I start the interview at "test_random_input"
29
- # And I answer randomly for at most 50 pages
30
- #
31
- #@fast @ri4 @random @error
32
- #Scenario: Fail with error page from random input
33
- # Given the final Scenario status should be "failed"
34
- # Given I start the interview at "test_missing_var_error_screen"
35
- # And the max seconds for each step in this scenario is 10
36
- # And I answer randomly for at most 3 pages
@@ -1,155 +0,0 @@
1
- @reload
2
- Feature: Errors caused by server reload
3
-
4
- # These can only be run locally one at a time once you uncomment them:
5
- # 1. Make sure you have two versions of the repo locally and open a terminal window for each of them
6
- # 2. With one repo, start one specific test
7
- # 3. Be ready to run the setup step for the 2nd repo
8
- # 4. Prepatory explanation: With some noted exceptions, when the 1st test is _starting_ its long wait time (which they should each have), start the setup step in the other terminal.
9
- # 4a. Start the test in the 1st repo. Ex: npm run cucumber -- "--tags" "@reload1"
10
- # 4b. Wait until the long wait time is just starting (count the number of steps to match the progress dots)
11
- # 4c. Start the setup in the 2nd repo: npm run setup
12
- # 5. Make sure the test waits longer than the scope.timeout
13
- # 6. Make sure the reload error is triggered for the first attempt of the test
14
- # 7. Make sure the reload error is not present for the second attempt
15
- # 8. For the second repo: npm run takedown
16
-
17
- # # Tests that need to be written and run:
18
- # # Theoretically implemented
19
- # - [ ] 1. sign in to server with `.sign_in` on two levels:
20
- # - [x] (throw_after_server_reloads() solved this I think) when navigating to server
21
- # - [ ] when submitting to log in (impossible to time? they both happen at once)
22
- # - [x] 2. (waits full time for sign-out page, but I think it's working otherwise) I tap the ... tab (should not cause timeout at all, so should be fine)
23
- # - [x] 3. tap elements
24
- # - [x] I tap the ... element$
25
- # - [ ] (same as above?) I tap the ... element and wait
26
- # - [x] 4. Set the var of a continue button
27
- # - [x] I set the var ... (using a button press to continue)
28
- # - [x] (same as above?) I set the var ... GitHub)? secret (for a button press)
29
- # - [ ] (same as above? We don't have an interview ready for this yet. Seen notes in 4c) I set the var for a button in a story table
30
- # - [x] 5. Signing out at end of step
31
- # - [x] 6. Tap to continue
32
- # - [x] I tap to continue
33
- # - [x] In the middle of a story table (basically same as "tap to continue")
34
- # - [x] 7. Fails both tests
35
- # - [x] 8. The server does actually finish reloading during the first attempt, so there's only one error printed in the report.
36
- #
37
- # # Not yet implemented
38
- # - [ ] I download
39
- #
40
- # Skipping for now because not a documented step yet
41
- # - [ ] I tap the defined text link
42
-
43
- ## For this scenario, start the server setup before you start running the test and wait till 4th attempt to pull in the code.
44
- ## No screenshots are taken because these are secrets
45
- #@reload1a
46
- #Scenario: The server reloads while I navigate to the server sign in page
47
- # Given the max seconds for each step in this scenario is 5
48
- #  Given I sign in with the email "USER1_EMAIL" and the password "USER1_PASSWORD"
49
- #
50
- #@reload1b
51
- ##Scenario: The server reloads while I'm submitting my signin (impossible)
52
- #
53
- ## Should error after finishing test, but only because can't finish the test by going to the sign out page during server #reload. Sign out page is a necessary evil at the moment to make sure the next test starts fresh.
54
- #@reload2
55
- #Scenario: The server reloads while I tap a tab
56
- # Given I start the interview at "test_taps"
57
- # And I wait 20 seconds
58
- # And I tap the "Tests-second_template-tab" tab
59
- # Then I see the phrase "villify"
60
- #
61
- #@reload3a
62
- #Scenario: The server reloads while I tap an element selector
63
- # Given I start the interview at "all_tests"
64
- # And I wait 18 seconds
65
- # Given the max seconds for each step in this scenario is 5
66
- # Then I tap the "button.btn.btn-da.btn-primary[type='submit']" element
67
- #
68
- ##@reload3b
69
- ## Given I start the interview at "all_tests"
70
- ## And I wait 18 seconds
71
- ## Given the max seconds for each step in this scenario is 5
72
- ## Then I tap the "button.btn.btn-da.btn-primary[type='submit']" element and wait 1 seconds
73
- #
74
- ## Start setup on the 12th dot
75
- #@reload4a
76
- #Scenario: The server reloads while I set the var of a continue button
77
- # Given I start the interview at "all_tests"
78
- # And I tap to continue
79
- # And I tap to continue
80
- # When I set the var "checkboxes_yesno" to "True"
81
- # And I set the var "checkboxes_other['checkbox_other_opt_1']" to "true"
82
- # And I set the var "dropdown_test" to "dropdown_opt_2"
83
- # And I set the var "radio_yesno" to "False"
84
- # And I set the var "radio_other" to "radio_other_opt_3"
85
- # And I set the var "text_input" to "Regular text input field value"
86
- # And I set the var "textarea" to "Multiline text\narea value"
87
- # And I wait 25 seconds
88
- # Given the max seconds for each step in this scenario is 5
89
- # Then I set the var "direct_standard_fields" to "True"
90
- #
91
- ## You must add the env var `STANDARD_FIELDS`. Otherwise, it's just like @reload4a
92
- #@reload4b
93
- #Scenario: The server reloads while I set the var of a continue button
94
- # Given I start the interview at "all_tests"
95
- # And I tap to continue
96
- # And I tap to continue
97
- # When I set the var "checkboxes_yesno" to "True"
98
- # And I set the var "checkboxes_other['checkbox_other_opt_1']" to "true"
99
- # And I set the var "dropdown_test" to "dropdown_opt_2"
100
- # And I set the var "radio_yesno" to "False"
101
- # And I set the var "radio_other" to "radio_other_opt_3"
102
- # And I set the var "text_input" to "Regular text input field value"
103
- # And I set the var "textarea" to "Multiline text\narea value"
104
- # And I wait 25 seconds
105
- # Given the max seconds for each step in this scenario is 5
106
- # Then I set the var "direct_standard_fields" to the github secret "STANDARD_FIELDS"
107
- #
108
- ### We don't have an interview set up for this yet. We need one where the _first_ page
109
- ### has a continue button field that sets a variable.
110
- ##@reload4c
111
- ##Scenario: The server reloads while I run a story table
112
- ##  Given I start the interview at "all_tests"
113
- ## And I wait 18 seconds
114
- ## Given the max seconds for each step in this scenario is 3
115
- ##  And I get to "id of second page" with this data:
116
- ## | var | value | trigger |
117
- ## | some_continue_button_var_on_first_page | true | |
118
- #
119
- #@reload5
120
- #Scenario: The server reloads while signing out
121
- # Given I start the interview at "all_tests"
122
- # And I wait 16 seconds
123
- # Given the max seconds for each step in this scenario is 1
124
- #
125
- #@reload6a
126
- #Scenario: The server reloads while I tap to continue
127
- # Given I start the interview at "all_tests"
128
- # And I wait 18 seconds
129
- # Given the max seconds for each step in this scenario is 3
130
- # And I tap to continue
131
- #
132
- #@reload6b
133
- #Scenario: The server reloads while I run a story table
134
- #  Given I start the interview at "all_tests"
135
- # And I wait 18 seconds
136
- # Given the max seconds for each step in this scenario is 3
137
- #  And I get to "direct standard fields" with this data:
138
- # | var | value | trigger |
139
- # | double_quote_dict['double_quote_key']["dq_two"] | true | |
140
- # | single_quote_dict["single_quote_key"]['sq_two'] | true | |
141
- #
142
- ## This test might not be necessary. The test run should end in failure and the message should appear in both reports.
143
- ## Run `npm run setup` both times. This will complicate takedown - it creates two projects, so at the end you have to takedown #the current project, which removes the project name in the config, then you have to put the name of the first project into the #config and then run takedown again.
144
- #@reload7
145
- #Scenario: The server is reloading in both attempts
146
- # Given I start the interview at "all_tests"
147
- # And I wait 22 seconds
148
- # Given the max seconds for each step in this scenario is 1
149
- #
150
- #@reload8
151
- #Scenario: The server finishes reloading before the first timeout
152
- # Given I start the interview at "all_tests"
153
- # And I wait 18 seconds
154
- # Given the max seconds for each step in this scenario is 30
155
- # And I tap to continue