1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109 | @guest
Feature: Guest User for Todo List web app
Background: A guest user is logged in and verified
Given a guest user is created
Scenario: A guest user can check list details page
Given a guest user has a list
When a guest user clicks on a list
Then they are sent to details page of list
Scenario: A guest user can see their todos on the details page
Given a guest user has a list with todos
When a guest user clicks on a list
Then a guest can see their todos listed
Scenario: A guest user wants to add a new todo to a list
Given a guest user has a list
When a guest user clicks on a list
And a guest user clicks on add new todo
And a guest user enters a string
Then the todo is created
Scenario: A guest user wants to edit a list title
Given a guest user has a list
Given a guest user is on list details page
When they click on the edit link
Then a form to rename the title of the list is displayed
When they enter a new title and submit
Then the title is replaced with the new entry
Scenario: A guest user wants to edit a todo entry and return to the details page
Given a guest user has a list
And a guest user has a todo in their list
When they click on the edit link
Then todos can be selected to be edited
When a todo is selected
Then the edit-todo page displays a form to edit the todo
When a user submits an edit
Then the edit page updates and shows the new todo
Then they are at the todo details page with the recently edited todo
Scenario: A guest user wants to delete a todo list
Given a guest user has a list
And a guest user is on list details page
When they click on the delete link
Then they are given a confirm prompt
When they click yes
Then the guest list is deleted
Scenario: A guest user wants to delete a single todo
Given a guest user has a list
And a guest user has a todo in their list
When they click on the edit link
And they click on the todo they want to delete
Then they are on the todo edit page
When they are on the todo edit page, a delete link is displayed
And then they click on the delete link
Then they are redirected to a todo delete page
When they click yes
Then the todo is deleted and they are redirected to the todos list page
Scenario: A guest user enters duplicate list data, and an error message appears
Given a guest user has a list
When a guest user enters a duplicate list
Then an error message appears and the item is not created
Scenario: A guest user enters duplicate todo data, and an error message appears
Given a guest user has a list
And a guest user has a todo in their list
When a guest user enters a duplicate todo
Then an error message appears and the item is not created
Scenario: Two different guest users can enter the same title
had a bug where two different users could not enter the same title if one user already
had entered that title. Basically, the validation logic was checking against ALL List objects, but should only check against a user's List objects.
Given a guest user has a list
When a different guest logs in
Then they can create a list with the same title
Scenario: unable to add a todo with text that is the same as title
currently the list title is a todo and thus can't have a todo listed with same text. Make error
message more helpful
Given a guest user has a list
And a guest user has a todo in their list
When a guest user enters todo with same text as title
Then an error message is displayed that todo can't have same text as title
Scenario: user is deleted after max age expires
Given user is found in database
Given the session max age is 4 seconds
When the max age is over
And the delete_expired_users task is triggered
Then the user should not be in the database
|