-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtestnotes
112 lines (98 loc) · 4.8 KB
/
testnotes
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
110
111
112
# Need to redefine this as a set of grouped user stories (grouped by functionality).
# Need to do some tests going by URL rather than just clicking through
# TODO: Input tests for goals and tasks should make sure expected name appears
# TODO: Do tests for the full ordering
# Ordering expectation:
Active tasks:
Goal order:
- Goals with any incomplete tasks
- Goals with any complete tasks
- Goals with only on break tasks
Task order under goals:
- Incomplete
- Complete
- On break
Archived tasks:
Goal order:
- By archive date
Task order:
- Most recent complete
- Most recent incomplete
- Most recent on break
Semantic versioning notes:
Major version (backwards incompatible):
- Any ability to associate feedback removed (e.g. not being able to comment tasks)
- Any functionality removed (e.g. archival, site administration, etc)
- Any existing ID being removed
Minor version (new feature):
- Output ordering changes
- New functionality added
Patch version:
- Missing IDs added
- Non-user affecting changes to backend
Site:
# Registraiton and login/logout
- Can register a new user on a new site, are logged in after registering
- Can log in with existing user
- Can log out as logged in user
- Cannot register while logged in
- User can disable registrations
- Cannot register a new user while logged out with registrations disabled
- Cannot log in while logged in
# Basic goals/task creation
- Can create multiple goals at top level
- Can create multiple tasks under a goal
- Can create multiple goals under an existing goal
# User separation
- Cannot see another user's task
- Cannot see another user's archived tasks
- Cannot complete another user's task (by URL)
- Cannot archive another user's task (by URL)
- Cannot view another user's task history (by URL)
# Basic task management
- Check task shows correctly when going on break
- Before task is completed it shows as not completed and is clickable
- Can fill in or not fill in comment when completing task
- When task completed, task shows as completed and is unclickable on active tasks page
- Task shows up to 7 completed/not completed boxes on active tasks page, unclickable, with days of week # Need to be able to set date
- Uncompleted tasks are at top of list
- Check that first go on break has correct id (including date)
- Can complete old instances of a task in the history page # Need to be able to set date
- Can go_on_break old instances of a task in the history page # Need to be able to set date
- Task shows uncompleted for each day since beginning that it does not have task record for in history page # Need to be able to set date
- Can set a task to "I have a good excuse" in the history page
# Archiving
- Can archive a task
- Archived tasks do not appear in active tasks
- Archived tasks appear in archived tasks
- Archived tasks cannot be completed
- Archived tasks cannot be 'holidayed'
# Basic navigation logged in
- Can reach archive and active tasks pages while logged in
- Home link takes to active tasks page if logged in
- Clicking username takes to user details page with name and e-mail address
- Version link takes to version history
# Anonymous user
- Logged out user can only access home page
- ...version
- ...login
- ...and sometimes register
# Comment/etc length + allowed characters
- Goal name can be at least 200 characters, all <128 UTF-8 and arbitrary higher
- Task name can be at least 200 characters, all <128 UTF-8 and arbitrary higher
- Task break description can be at least 500 characters, all <128 UTF-8 and arbitrary higher
- Task completed description can be at least 500 characters, all <128 UTF-8 and arbitrary higher
- Username can be at least 50 characters, all <128 UTF-8 and arbitrary higher
- Password can be at least 100 characters, all <128 UTF-8 and arbitrary higher
- Check HTML closing tag followed by noise for goal name (started, needs better check)
- Check HTML closing tag followed by noise for task name (started, needs better check)
- Check HTML closing tag followed by noise for task complete
- Check HTML closing tag followed by noise for task on break
- Check HTML closing tag followed by noise for username
- Check HTML closing tag followed by noise for password
- LEFT FOR LATER- HTML injection fair start: Can't use chr(<33) very usefully; put tests in to make sure these characters don't crash the sit
# Email addresses being RFC valid to be handled later, when they're actually used
# Code quality
- flake8 should return no sadness
- coverage should be 100% (can we run that with hitch?)
- Appropriate groups should be present on each page as classes (e.g. go_on_break links)