@suffolklitlab/alkiln 5.0.2-feat-github-server-6 → 5.0.2-feat-github-server-8
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/.github/workflows/github_server.yml +5 -1
- package/CONTRIBUTING.md +1 -1
- package/action.yml +25 -24
- package/github_server/action.yml +46 -6
- package/lib/docassemble/startserver.js +6 -6
- package/lib/scope.js +1 -2
- package/package.json +1 -1
- package/setup.py +2 -2
- package/docassemble/ALKiln/__init__.py +0 -1
- package/docassemble/ALKiln/data/questions/AL_tests.yml +0 -40
- package/docassemble/ALKiln/data/questions/all_tests.yml +0 -312
- package/docassemble/ALKiln/data/questions/test.yml +0 -14
- package/docassemble/ALKiln/data/questions/test_date_and_time.yml +0 -34
- package/docassemble/ALKiln/data/questions/test_decoding.yml +0 -101
- package/docassemble/ALKiln/data/questions/test_kickout.yml +0 -37
- package/docassemble/ALKiln/data/questions/test_languages.yml +0 -26
- package/docassemble/ALKiln/data/questions/test_longest_filepath.yml +0 -19
- package/docassemble/ALKiln/data/questions/test_loops.yml +0 -66
- package/docassemble/ALKiln/data/questions/test_missing_var_error_screen.yml +0 -9
- package/docassemble/ALKiln/data/questions/test_random_input.yml +0 -83
- package/docassemble/ALKiln/data/questions/test_secret_vars.yml +0 -32
- package/docassemble/ALKiln/data/questions/test_signature.yml +0 -25
- package/docassemble/ALKiln/data/questions/test_taps.yml +0 -43
- package/docassemble/ALKiln/data/questions/test_trigger.yml +0 -25
- package/docassemble/ALKiln/data/questions/url_args.yml +0 -33
- package/docassemble/ALKiln/data/sources/README.md +0 -4
- package/docassemble/ALKiln/data/sources/ar.xlsx +0 -0
- package/docassemble/ALKiln/data/sources/assembly_line.feature +0 -43
- package/docassemble/ALKiln/data/sources/es.xlsx +0 -0
- package/docassemble/ALKiln/data/sources/establishing_steps.feature +0 -62
- package/docassemble/ALKiln/data/sources/example_test.feature +0 -11
- package/docassemble/ALKiln/data/sources/filepaths.feature +0 -9
- package/docassemble/ALKiln/data/sources/interactive_steps.feature +0 -172
- package/docassemble/ALKiln/data/sources/languages.feature +0 -36
- package/docassemble/ALKiln/data/sources/observation_steps.feature +0 -174
- package/docassemble/ALKiln/data/sources/random_input.feature +0 -36
- package/docassemble/ALKiln/data/sources/reload.feature +0 -155
- package/docassemble/ALKiln/data/sources/reports.feature +0 -574
- package/docassemble/ALKiln/data/sources/some_png_1.png +0 -0
- package/docassemble/ALKiln/data/sources/some_png_2.png +0 -0
- package/docassemble/ALKiln/data/sources/story_table_formats.feature +0 -125
- package/docassemble/ALKiln/data/sources/story_tables.feature +0 -139
- package/docassemble/ALKiln/data/static/README.md +0 -4
- package/docassemble/ALKiln/data/static/styles.css +0 -46
- package/docassemble/ALKiln/data/templates/README.md +0 -3
- package/docassemble/ALKiln/data/templates/simple.pdf +0 -0
- package/tmp.bash +0 -7
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
mandatory: True
|
|
3
|
-
id: interview order
|
|
4
|
-
code: |
|
|
5
|
-
#object_multiselect_test
|
|
6
|
-
#multiselect_test
|
|
7
|
-
object_radio_field
|
|
8
|
-
#object_checkboxes_test
|
|
9
|
-
#checkbox_dict['single_quote_key']
|
|
10
|
-
end_screen
|
|
11
|
-
---
|
|
12
|
-
id: object multiselect
|
|
13
|
-
question: |
|
|
14
|
-
Object Multiselect
|
|
15
|
-
fields:
|
|
16
|
-
- Object multiselect: object_multiselect_test
|
|
17
|
-
datatype: object_multiselect
|
|
18
|
-
choices:
|
|
19
|
-
- obj_opt_1
|
|
20
|
-
- obj_opt_2
|
|
21
|
-
- obj_opt_3
|
|
22
|
-
---
|
|
23
|
-
id: multiselect
|
|
24
|
-
question: |
|
|
25
|
-
Multiselect
|
|
26
|
-
fields:
|
|
27
|
-
- Multiselect: multiselect_test
|
|
28
|
-
datatype: multiselect
|
|
29
|
-
choices:
|
|
30
|
-
- "hi"
|
|
31
|
-
- "there"
|
|
32
|
-
- "dear"
|
|
33
|
-
- "reader"
|
|
34
|
-
---
|
|
35
|
-
id: object-radio-field
|
|
36
|
-
question: Object radio field
|
|
37
|
-
fields:
|
|
38
|
-
- object radio field: object_radio_field
|
|
39
|
-
datatype: object_radio
|
|
40
|
-
choices:
|
|
41
|
-
- object_radio_choice_one
|
|
42
|
-
- object_radio_choice_two
|
|
43
|
-
---
|
|
44
|
-
id: object checkboxes
|
|
45
|
-
question: |
|
|
46
|
-
Objects
|
|
47
|
-
fields:
|
|
48
|
-
- Object checkboxes: object_checkboxes_test
|
|
49
|
-
datatype: object_checkboxes
|
|
50
|
-
choices:
|
|
51
|
-
- obj_chkbx_opt_1
|
|
52
|
-
- obj_chkbx_opt_2
|
|
53
|
-
- obj_chkbx_opt_3
|
|
54
|
-
- Object dropdown: object_dropdown
|
|
55
|
-
datatype: object
|
|
56
|
-
choices:
|
|
57
|
-
- obj_opt_1
|
|
58
|
-
- obj_opt_2
|
|
59
|
-
- obj_opt_3
|
|
60
|
-
---
|
|
61
|
-
id: group of complex fields
|
|
62
|
-
question: |
|
|
63
|
-
Some complex fields
|
|
64
|
-
fields:
|
|
65
|
-
- Singly quoted key: checkbox_dict['single_quote_key']
|
|
66
|
-
datatype: checkboxes
|
|
67
|
-
none of the above: False
|
|
68
|
-
choices:
|
|
69
|
-
- 1: sq_one
|
|
70
|
-
- 2: sq_two
|
|
71
|
-
- 'weird unicode': "🁳🧴🥫🅍🗎🗷🌲🯵"
|
|
72
|
-
---
|
|
73
|
-
id: end screen
|
|
74
|
-
event: end_screen
|
|
75
|
-
question: All done!
|
|
76
|
-
---
|
|
77
|
-
objects:
|
|
78
|
-
- checkbox_dict: DADict
|
|
79
|
-
- object_radio_choice_one: Individual
|
|
80
|
-
- object_radio_choice_two: Individual
|
|
81
|
-
- obj_chkbx_opt_1: DAObject
|
|
82
|
-
- obj_chkbx_opt_2: DAObject
|
|
83
|
-
- obj_chkbx_opt_3: DAObject
|
|
84
|
-
- obj_opt_1: DAObject
|
|
85
|
-
- obj_opt_2: DAObject
|
|
86
|
-
- obj_opt_3: DAObject
|
|
87
|
-
---
|
|
88
|
-
code: |
|
|
89
|
-
obj_chkbx_opt_1.name = 'obj_chkbx_opt_1'
|
|
90
|
-
obj_chkbx_opt_2.name = 'obj_chkbx_opt_2'
|
|
91
|
-
obj_chkbx_opt_3.name = 'obj_chkbx_opt_3'
|
|
92
|
-
obj_opt_1.name = 'obj_opt_1'
|
|
93
|
-
obj_opt_2.name = 'obj_opt_2'
|
|
94
|
-
obj_opt_3.name = 'obj_opt_3'
|
|
95
|
-
---
|
|
96
|
-
code: |
|
|
97
|
-
object_radio_choice_one.name.first = 'Bob'
|
|
98
|
-
object_radio_choice_one.name.last = 'FirstChoice'
|
|
99
|
-
object_radio_choice_two.name.first = 'Joe'
|
|
100
|
-
object_radio_choice_two.name.last = 'SecondChoice'
|
|
101
|
-
---
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
mandatory: True
|
|
3
|
-
code: |
|
|
4
|
-
show_first_screen
|
|
5
|
-
user_choice
|
|
6
|
-
if user_choice == 'wrong':
|
|
7
|
-
kickout_screen
|
|
8
|
-
else:
|
|
9
|
-
success_screen
|
|
10
|
-
---
|
|
11
|
-
id: show first screen
|
|
12
|
-
question: |
|
|
13
|
-
Welcome to this interview!
|
|
14
|
-
continue button field: show_first_screen
|
|
15
|
-
---
|
|
16
|
-
id: make choice
|
|
17
|
-
question: |
|
|
18
|
-
What is your choice?
|
|
19
|
-
fields:
|
|
20
|
-
- My choice is...: user_choice
|
|
21
|
-
choices:
|
|
22
|
-
- The Correct choice: correct
|
|
23
|
-
- The Wrong choice: wrong
|
|
24
|
-
---
|
|
25
|
-
id: kickout screen
|
|
26
|
-
event: kickout_screen
|
|
27
|
-
question: |
|
|
28
|
-
You answered incorrectly
|
|
29
|
-
buttons:
|
|
30
|
-
- Restart: restart
|
|
31
|
-
- Exit: exit
|
|
32
|
-
url: https://courtformsonline.org
|
|
33
|
-
---
|
|
34
|
-
id: success screen
|
|
35
|
-
event: success_screen
|
|
36
|
-
question: |
|
|
37
|
-
You answered correctly!
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
metadata:
|
|
2
|
-
title: Language url
|
|
3
|
-
---
|
|
4
|
-
translations:
|
|
5
|
-
- es.xlsx
|
|
6
|
-
- ar.xlsx
|
|
7
|
-
---
|
|
8
|
-
initial: True
|
|
9
|
-
code: |
|
|
10
|
-
set_language(user_language)
|
|
11
|
-
---
|
|
12
|
-
code: |
|
|
13
|
-
if 'lang' in url_args:
|
|
14
|
-
user_language = url_args['lang']
|
|
15
|
-
else:
|
|
16
|
-
user_language = 'en'
|
|
17
|
-
---
|
|
18
|
-
mandatory: True
|
|
19
|
-
id: interview order
|
|
20
|
-
code: |
|
|
21
|
-
multi_language_page
|
|
22
|
-
---
|
|
23
|
-
event: multi_language_page
|
|
24
|
-
# This title should get translated
|
|
25
|
-
question: English page
|
|
26
|
-
---
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
metadata:
|
|
2
|
-
title: Longest filepath length under 184
|
|
3
|
-
short title: Filepaths
|
|
4
|
-
---
|
|
5
|
-
# Necessary to tell us what the sought var is on each page
|
|
6
|
-
# Every interview that wants testing will need to have an element like this
|
|
7
|
-
default screen parts:
|
|
8
|
-
post: |
|
|
9
|
-
<div data-variable="${ encode_name(str( user_info().variable )) }" id="trigger" aria-hidden="true" style="display: none;"></div>
|
|
10
|
-
---
|
|
11
|
-
mandatory: True
|
|
12
|
-
id: interview order
|
|
13
|
-
code: |
|
|
14
|
-
over_20_question_id
|
|
15
|
-
---
|
|
16
|
-
event: over_20_question_id
|
|
17
|
-
id: 25 characters question id
|
|
18
|
-
question: Test longest filepath is under 184 characters
|
|
19
|
-
---
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
metadata:
|
|
2
|
-
title: Loop tests
|
|
3
|
-
description: Test loops with .there_is_another and .target_number
|
|
4
|
-
---
|
|
5
|
-
# Necessary to tell us what the sought var is on each page
|
|
6
|
-
# Every interview that wants testing will need to have an element like this
|
|
7
|
-
default screen parts:
|
|
8
|
-
post: |
|
|
9
|
-
<div data-variable="${ encode_name(str( user_info().variable )) }" id="trigger" aria-hidden="true" style="display: none;"></div>
|
|
10
|
-
---
|
|
11
|
-
objects:
|
|
12
|
-
- there_are_any_people: DAList.using(object_type=Individual)
|
|
13
|
-
- there_is_another_people: DAList.using(object_type=Individual, there_are_any=True)
|
|
14
|
-
- target_people: DAList.using(object_type=Individual, ask_number=True)
|
|
15
|
-
---
|
|
16
|
-
mandatory: True
|
|
17
|
-
code: |
|
|
18
|
-
there_are_any_people.gather()
|
|
19
|
-
there_is_another_people.gather()
|
|
20
|
-
target_people.gather()
|
|
21
|
-
end
|
|
22
|
-
---
|
|
23
|
-
id: there are any people
|
|
24
|
-
generic object: DAList
|
|
25
|
-
question: Are there any "${ x.object_name() }" people?
|
|
26
|
-
yesno: x.there_are_any
|
|
27
|
-
---
|
|
28
|
-
id: is there another person
|
|
29
|
-
generic object: DAList
|
|
30
|
-
question: Are there more "${ x.object_name() }" people?
|
|
31
|
-
yesno: x.there_is_another
|
|
32
|
-
---
|
|
33
|
-
id: target number
|
|
34
|
-
question: How many "target_number" people are there?
|
|
35
|
-
fields:
|
|
36
|
-
- Number of other people: target_people.target_number
|
|
37
|
-
input type: number
|
|
38
|
-
---
|
|
39
|
-
id: person name
|
|
40
|
-
generic object: DAList
|
|
41
|
-
question: Name of the "${ x[ i ].object_name() }" person
|
|
42
|
-
fields:
|
|
43
|
-
- Name: x[i].name.first
|
|
44
|
-
---
|
|
45
|
-
id: end
|
|
46
|
-
event: end
|
|
47
|
-
question: The end!
|
|
48
|
-
subquestion: |
|
|
49
|
-
`there_are_any_people` people: ${ len(there_are_any_people.complete_elements()) }
|
|
50
|
-
|
|
51
|
-
% for person in there_are_any_people:
|
|
52
|
-
* ${ person }
|
|
53
|
-
% endfor
|
|
54
|
-
|
|
55
|
-
`there_is_another_people` people: ${ len(there_is_another_people.complete_elements()) }
|
|
56
|
-
|
|
57
|
-
% for person in there_is_another_people:
|
|
58
|
-
* ${ person }
|
|
59
|
-
% endfor
|
|
60
|
-
|
|
61
|
-
`target_people` people: ${ len(target_people.complete_elements()) }
|
|
62
|
-
|
|
63
|
-
% for person in target_people:
|
|
64
|
-
* ${ person }
|
|
65
|
-
% endfor
|
|
66
|
-
---
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
metadata:
|
|
3
|
-
title: Test random input
|
|
4
|
-
comment: Test trying to get through an interview by giving randomly generated answers
|
|
5
|
-
---
|
|
6
|
-
modules:
|
|
7
|
-
- docassemble.ALToolbox.ThreePartsDate
|
|
8
|
-
---
|
|
9
|
-
# Necessary to tell us what the sought var is on each page
|
|
10
|
-
# Every interview that wants testing will need to have an element like this
|
|
11
|
-
default screen parts:
|
|
12
|
-
post: |
|
|
13
|
-
<div data-variable="${ encode_name(str( user_info().variable )) }" id="trigger" aria-hidden="true" style="display: none;"></div>
|
|
14
|
-
---
|
|
15
|
-
############# Interview order #############
|
|
16
|
-
mandatory: True
|
|
17
|
-
code: |
|
|
18
|
-
text
|
|
19
|
-
choices
|
|
20
|
-
signature
|
|
21
|
-
custom_data_types
|
|
22
|
-
end
|
|
23
|
-
---
|
|
24
|
-
id: text
|
|
25
|
-
question: Text test
|
|
26
|
-
fields:
|
|
27
|
-
- Random paragraph: textarea
|
|
28
|
-
input type: area
|
|
29
|
-
- Random text: text
|
|
30
|
-
- Random number: number
|
|
31
|
-
datatype: number
|
|
32
|
-
- Random date: date
|
|
33
|
-
datatype: date
|
|
34
|
-
- Random currency: currency
|
|
35
|
-
datatype: currency
|
|
36
|
-
- Random email: email
|
|
37
|
-
datatype: email
|
|
38
|
-
- Random password: password
|
|
39
|
-
datatype: password
|
|
40
|
-
---
|
|
41
|
-
id: Choices
|
|
42
|
-
question: Choices test
|
|
43
|
-
fields:
|
|
44
|
-
- Dropdown choices: select
|
|
45
|
-
choices:
|
|
46
|
-
- Dropdown 1
|
|
47
|
-
- Dropdown 2
|
|
48
|
-
- Dropdown 3
|
|
49
|
-
- Checkbox choices: checkbox
|
|
50
|
-
datatype: checkboxes
|
|
51
|
-
choices:
|
|
52
|
-
- Checkbox 1
|
|
53
|
-
- Checkbox 2
|
|
54
|
-
- Checkbox 3
|
|
55
|
-
- Radio button: radio
|
|
56
|
-
datatype: radio
|
|
57
|
-
choices:
|
|
58
|
-
- Radio 1
|
|
59
|
-
- Radio 2
|
|
60
|
-
- Radio 3
|
|
61
|
-
continue button field: choices
|
|
62
|
-
---
|
|
63
|
-
# Cannot handle this right now. It has a type of "hidden",
|
|
64
|
-
# like other special da fields that ALKiln shouldn't interact
|
|
65
|
-
# with.
|
|
66
|
-
id: custom_data_types
|
|
67
|
-
question: |
|
|
68
|
-
`CustomDataType`s
|
|
69
|
-
fields:
|
|
70
|
-
- ThreePartsDate: three_parts_date
|
|
71
|
-
datatype: ThreePartsDate
|
|
72
|
-
- Birth date: birth_date
|
|
73
|
-
datatype: BirthDate
|
|
74
|
-
continue button field: custom_data_types
|
|
75
|
-
---
|
|
76
|
-
id: signature
|
|
77
|
-
question: Signature
|
|
78
|
-
signature: signature
|
|
79
|
-
---
|
|
80
|
-
id: end
|
|
81
|
-
event: end
|
|
82
|
-
question: The end
|
|
83
|
-
---
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
mandatory: True
|
|
3
|
-
question: |
|
|
4
|
-
Enter the first secret
|
|
5
|
-
fields:
|
|
6
|
-
- 1st: first_text_entry
|
|
7
|
-
---
|
|
8
|
-
mandatory: True
|
|
9
|
-
question: |
|
|
10
|
-
The first secret you entered was ${ first_text_entry }
|
|
11
|
-
continue button field: continue_after_first
|
|
12
|
-
---
|
|
13
|
-
mandatory: True
|
|
14
|
-
question: |
|
|
15
|
-
Enter the second secret
|
|
16
|
-
fields:
|
|
17
|
-
- 2nd: second_text_entry
|
|
18
|
-
---
|
|
19
|
-
mandatory: True
|
|
20
|
-
question: |
|
|
21
|
-
The second secret you entered was ${ second_text_entry }
|
|
22
|
-
continue button field: continue_after_second
|
|
23
|
-
---
|
|
24
|
-
mandatory: True
|
|
25
|
-
question: |
|
|
26
|
-
Enter the thrid secret
|
|
27
|
-
fields:
|
|
28
|
-
- 3rd: third_text_entry
|
|
29
|
-
---
|
|
30
|
-
mandatory: True
|
|
31
|
-
question: |
|
|
32
|
-
The third secret you entered was ${ third_text_entry }
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
metadata:
|
|
2
|
-
title: Signature screen test
|
|
3
|
-
short title: Siganture
|
|
4
|
-
---
|
|
5
|
-
# Necessary to tell us what the sought var is on each page
|
|
6
|
-
# Every interview that wants testing will need to have an element like this
|
|
7
|
-
default screen parts:
|
|
8
|
-
post: |
|
|
9
|
-
<div data-variable="${ encode_name(str( user_info().variable )) }" id="trigger" aria-hidden="true" style="display: none;"></div>
|
|
10
|
-
---
|
|
11
|
-
mandatory: True
|
|
12
|
-
id: interview order
|
|
13
|
-
code: |
|
|
14
|
-
signature
|
|
15
|
-
end
|
|
16
|
-
---
|
|
17
|
-
id: signature
|
|
18
|
-
question: |
|
|
19
|
-
Signature
|
|
20
|
-
signature: signature
|
|
21
|
-
---
|
|
22
|
-
id: the end
|
|
23
|
-
event: end
|
|
24
|
-
question: |
|
|
25
|
-
Congratulations! Tests have passed!
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
modules:
|
|
2
|
-
- docassemble.ALToolbox.misc
|
|
3
|
-
---
|
|
4
|
-
mandatory: True
|
|
5
|
-
event: main_screen
|
|
6
|
-
id: main screen
|
|
7
|
-
question: |
|
|
8
|
-
Tabbed Template Sceen
|
|
9
|
-
subquestion: |
|
|
10
|
-
${ tabbed_templates_html("Tests",
|
|
11
|
-
template_a,
|
|
12
|
-
template_b,
|
|
13
|
-
template_c
|
|
14
|
-
)}
|
|
15
|
-
---
|
|
16
|
-
template: template_a
|
|
17
|
-
subject: |
|
|
18
|
-
first template
|
|
19
|
-
content: |
|
|
20
|
-
This first, primary template has the unique word Mechanics that should be found.
|
|
21
|
-
---
|
|
22
|
-
template: template_b
|
|
23
|
-
subject: |
|
|
24
|
-
second template
|
|
25
|
-
content: |
|
|
26
|
-
This second, surplus template has the unique word villify that should be found.
|
|
27
|
-
---
|
|
28
|
-
template: template_c
|
|
29
|
-
subject: |
|
|
30
|
-
third template
|
|
31
|
-
content: |
|
|
32
|
-
This third, additional template has the unique word museum that should be found.
|
|
33
|
-
|
|
34
|
-
It also has a button that brings us to an event.
|
|
35
|
-
|
|
36
|
-
${ action_button_html(url_ask([{'recompute': ['special_event']}]),
|
|
37
|
-
label="Special event", id_tag="special_event")}
|
|
38
|
-
---
|
|
39
|
-
event: special_event
|
|
40
|
-
question: |
|
|
41
|
-
Special event
|
|
42
|
-
subquestion: |
|
|
43
|
-
The unique word on this screen is Portishead!
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
objects:
|
|
3
|
-
- person1: Individual
|
|
4
|
-
- person2: Individual
|
|
5
|
-
---
|
|
6
|
-
mandatory: True
|
|
7
|
-
code: |
|
|
8
|
-
person1.name.first
|
|
9
|
-
person2.name.first
|
|
10
|
-
end
|
|
11
|
-
---
|
|
12
|
-
id: name
|
|
13
|
-
generic object: Individual
|
|
14
|
-
question: Name of person ${ x.special_id }
|
|
15
|
-
fields:
|
|
16
|
-
- Name: x.name.first
|
|
17
|
-
---
|
|
18
|
-
id: end
|
|
19
|
-
event: end
|
|
20
|
-
question: The end of trigger tests!
|
|
21
|
-
---
|
|
22
|
-
code: |
|
|
23
|
-
person1.special_id = 1
|
|
24
|
-
person2.special_id = 2
|
|
25
|
-
---
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
metadata:
|
|
2
|
-
title: Test testing url args
|
|
3
|
-
short title: Test url args
|
|
4
|
-
comment: Test the automated integrated testing library for AssemblyLine with url functionality
|
|
5
|
-
---
|
|
6
|
-
# Necessary to tell us what the trigger var is on each page.
|
|
7
|
-
# In future, this should not be needed here.
|
|
8
|
-
default screen parts:
|
|
9
|
-
post: |
|
|
10
|
-
<div data-variable="${ encode_name(str( user_info().variable )) }" id="trigger" aria-hidden="true" style="display: none;"></div>
|
|
11
|
-
---
|
|
12
|
-
mandatory: True
|
|
13
|
-
id: interview order
|
|
14
|
-
code: |
|
|
15
|
-
url_args_test
|
|
16
|
-
end
|
|
17
|
-
---
|
|
18
|
-
id: url_args_test
|
|
19
|
-
question: Show url args
|
|
20
|
-
subquestion: |
|
|
21
|
-
Trying:
|
|
22
|
-
|
|
23
|
-
&from=theinternets&random=zoo
|
|
24
|
-
|
|
25
|
-
origin2: ${ url_args.get( 'from', 'unknown' ) }
|
|
26
|
-
|
|
27
|
-
random2: ${ url_args.get( 'random', 'unknown' ) }
|
|
28
|
-
continue button field: url_args_test
|
|
29
|
-
---
|
|
30
|
-
id: end
|
|
31
|
-
event: end
|
|
32
|
-
question: The end!
|
|
33
|
-
---
|
|
Binary file
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
@assembly_line
|
|
2
|
-
Feature: Assembly Line package-specific Steps
|
|
3
|
-
|
|
4
|
-
# In tag names, 'al' is for 'assembly line'
|
|
5
|
-
|
|
6
|
-
# Note: the first test for this suite is the first test in this file and we're having timeout issues, so we're trying to give the server longer to load.
|
|
7
|
-
|
|
8
|
-
@fast @al1
|
|
9
|
-
Scenario: I have two name parts
|
|
10
|
-
Given the max secs for each step is 120
|
|
11
|
-
Given I start the interview at "AL_tests"
|
|
12
|
-
And I set the name of "users[0]" to "Uli User"
|
|
13
|
-
And I tap to continue
|
|
14
|
-
And I set the address of "users[0]" to "120 Tremont Street, Unit 2, Boston, MA 02108"
|
|
15
|
-
And I tap to continue
|
|
16
|
-
And I set the name of "users[1]" to "Uli2 User2"
|
|
17
|
-
And I set the var "users[i].proxy_var" to "Mixed proxy var step test"
|
|
18
|
-
And I tap to continue
|
|
19
|
-
Then the question id should be "end"
|
|
20
|
-
|
|
21
|
-
@fast @al2
|
|
22
|
-
Scenario: I have three name parts
|
|
23
|
-
Given I start the interview at "AL_tests"
|
|
24
|
-
And I set the name of "users[0]" to "Uli Udo User"
|
|
25
|
-
And I tap to continue
|
|
26
|
-
And I set the address of "users[0]" to "120 Tremont Street, Unit 2, Boston, MA 02108"
|
|
27
|
-
And I tap to continue
|
|
28
|
-
And I set the name of "users[1]" to "Uli2 User2"
|
|
29
|
-
And I set the var "users[i].proxy_var" to "Mixed proxy var step test"
|
|
30
|
-
And I tap to continue
|
|
31
|
-
Then the question id should be "end"
|
|
32
|
-
|
|
33
|
-
@fast @al3
|
|
34
|
-
Scenario: I have four name parts
|
|
35
|
-
Given I start the interview at "AL_tests"
|
|
36
|
-
And I set the name of "users[0]" to "Uli Udo User Sr"
|
|
37
|
-
And I tap to continue
|
|
38
|
-
And I set the address of "users[0]" to "120 Tremont Street, Unit 2, Boston, MA 02108"
|
|
39
|
-
And I tap to continue
|
|
40
|
-
And I set the name of "users[1]" to "Uli2 User2"
|
|
41
|
-
And I set the var "users[i].proxy_var" to "Mixed proxy var step test"
|
|
42
|
-
And I tap to continue
|
|
43
|
-
Then the question id should be "end"
|
|
Binary file
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
@establishing
|
|
2
|
-
Feature: Establishing steps
|
|
3
|
-
|
|
4
|
-
Steps that establish things about the state of the test
|
|
5
|
-
# In tag names, 'e' is for 'establishing'
|
|
6
|
-
|
|
7
|
-
@slow @e1 @wait
|
|
8
|
-
Scenario: I am able to set a custom wait time that allows steps to run longer than the half minute default
|
|
9
|
-
Given I start the interview at "all_tests"
|
|
10
|
-
And the max seconds for each step in this scenario is 40
|
|
11
|
-
And I wait 35 seconds
|
|
12
|
-
|
|
13
|
-
@slow @e2 @wait
|
|
14
|
-
Scenario: I am able to set a custom wait time before an interview has been loaded
|
|
15
|
-
Given the max seconds for each step in this scenario is 40
|
|
16
|
-
And I start the interview at "all_tests"
|
|
17
|
-
And I wait 35 seconds
|
|
18
|
-
|
|
19
|
-
@fast @e3 @urlargs
|
|
20
|
-
Scenario: Interview name includes url args
|
|
21
|
-
Given I start the interview at "url_args.yml&from=theinternets&random=zoo"
|
|
22
|
-
Then I should see the phrase "zoo"
|
|
23
|
-
|
|
24
|
-
@slow @e4 @wait_first
|
|
25
|
-
Scenario: I can wait as a first step in a test
|
|
26
|
-
Given I wait 1 second
|
|
27
|
-
|
|
28
|
-
@slow @e5 @wait_first
|
|
29
|
-
Scenario: Interview name includes url args with a wait
|
|
30
|
-
Given I wait 1 second
|
|
31
|
-
Then I start the interview at "url_args.yml&from=theinternets&random=zoo"
|
|
32
|
-
Then I should see the phrase "zoo"
|
|
33
|
-
|
|
34
|
-
@fast @e6 @signin
|
|
35
|
-
Scenario: I sign in
|
|
36
|
-
Given I sign in with the email "USER1_EMAIL" and the password "USER1_PASSWORD"
|
|
37
|
-
And I start the interview at "all_tests"
|
|
38
|
-
|
|
39
|
-
@fast @e7 @arbitraryurl
|
|
40
|
-
Scenario: I want to go to a full arbitrary url
|
|
41
|
-
Given the max seconds for each step in this scenario is 5
|
|
42
|
-
And the Scenario report should include:
|
|
43
|
-
"""
|
|
44
|
-
Trying to load the interview
|
|
45
|
-
"""
|
|
46
|
-
Given I start the interview at "https://apps-test.suffolklitlab.org/start/demo/questions"
|
|
47
|
-
Then I should see the phrase "What language do you speak?"
|
|
48
|
-
|
|
49
|
-
# WARNING: This Scenario may fail if the file moves or changes too much
|
|
50
|
-
@fast @failing @e8 @rfe8 @arbitraryurl
|
|
51
|
-
Scenario: Fail with no interview at arbitrary url
|
|
52
|
-
Given the final Scenario status should be "failed"
|
|
53
|
-
And the Scenario report should include:
|
|
54
|
-
"""
|
|
55
|
-
Trying to load the interview
|
|
56
|
-
"""
|
|
57
|
-
And the Scenario report should include:
|
|
58
|
-
"""
|
|
59
|
-
ALKiln could not find any interview question page
|
|
60
|
-
"""
|
|
61
|
-
And the max seconds for each step in this scenario is 5
|
|
62
|
-
Then I start the interview at "https://apps-test.suffolklitlab.org/list"
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
@example_feature_tag
|
|
2
|
-
Feature: An example test
|
|
3
|
-
|
|
4
|
-
The tests in this file should cover
|
|
5
|
-
- [x] Provide a template people can use to make their own tests.
|
|
6
|
-
- [ ] Direct people to more documentation.
|
|
7
|
-
- [ ] Find the ultimate question to life, the universe, and everything.
|
|
8
|
-
|
|
9
|
-
@example_scenario_tag
|
|
10
|
-
Scenario: Server finishes reloading
|
|
11
|
-
Given I start the interview at "test"
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
@filepaths
|
|
2
|
-
Feature: Filepaths lengths
|
|
3
|
-
|
|
4
|
-
# In tag names, 'fp' is for 'filepaths'
|
|
5
|
-
|
|
6
|
-
@fp1
|
|
7
|
-
Scenario: Longest filepath should be under 184 characters with scenario description cut off at 70 and question id cut off at 20
|
|
8
|
-
Given I start the interview at "test_longest_filepath.yml"
|
|
9
|
-
And I answer randomly for at most 3 pages
|