-
Notifications
You must be signed in to change notification settings - Fork 5
/
Todo.todo
63 lines (51 loc) · 4.11 KB
/
Todo.todo
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
# Server part 1:
✔ Module for extracting Mocha tests @done(2016-03-26 19:58)
✔ Use mocha config to find all appropriate source files @done(2016-03-25 07:55)
✔ Parse describe blocks and it blocks @done(2016-03-26 19:58)
✔ Store in the "TestBlock" type (below) @done(2016-03-26 19:58)
```
Type TestBlock = {
name: string;
children: TestBlock[];
}
```
✔ Test to assert proper files are found, and proper structure is identified @done(2016-03-26 19:58)
✔ Endpoint `GET /testBlocks` @done(2016-03-28 06:52)
# Client part 1:
✔ Basic layout with mock form elements @done(2016-04-01 07:18)
✔ Test block list @done(2016-04-01 07:18)
✔ Loads tests from the server @done(2016-04-01 07:18)
# Styling communication:
✔ Active test is highlighted in left bar @done(2016-04-02 05:42) @project(# Styling communication)
✔ If the parent node is the active block, then "All tests" is hilighted @done(2016-04-02 05:42) @project(# Styling communication)
✔ `Describe` blocks have right arrows that indicate they have children @done(2016-04-02 05:42) @project(# Styling communication)
✔ `It` blocks have a different icon, and no right arrows @done(2016-04-02 05:42) @project(# Styling communication)
Keyboard Navigation:
✔ The up & down arrow keys highlight a test @done(2016-04-02 05:42) @project(Keyboard Navigation)
✔ The enter key activates a test @done(2016-04-02 19:54) @project(Keyboard Navigation)
✔ The left and right arrow keys show either the parent block's children, or the selected block's children, if the selected block is a node and not a leaf @done(2016-04-02 19:54) @project(Keyboard Navigation)
✔ The 'active' highlight stays correctly highlighted for any level of ancestry @done(2016-04-05 05:53) @project(Keyboard Navigation)
✔ The user can still type into the pattern input box the letters (hjkl) and use the arrow keys to move the cursor @done(2016-04-16 07:06) @project(Keyboard Navigation)
Mouse interaction:
✔ A test block can be clicked on to be activated @done(2016-04-16 08:04) @project(Mouse interaction)
✔ Clicking on the right arrow next to a `describe` block displays the children of that block @done(2016-04-16 08:04) @project(Mouse interaction)
✔ Clicking on the back arrow at the top of the block list displays the parent @done(2016-04-16 08:04) @project(Mouse interaction)
✔ Clicking on the "go" button changes the pattern to whatever has been typed in @done(2016-04-16 07:06) @project(Mouse interaction)
UI Adjustments:
✔ When test results are long, the result body scrolls, not the whole window. @done(2016-04-16 07:06) @project(UI Adjustments)
Taking Action:
✔ When a block is activated @done(2016-04-15 07:38) @project(Taking Action)
✔ The pattern is changed to match that block's ancestry @done(2016-04-05 06:59) @project(Taking Action / ☐ When a block is activated)
✔ A message is sent to the server, requesting that the tests be re-run with the new pattern @done(2016-04-15 07:38) @project(Taking Action / ☐ When a block is activated)
✔ On update pattern @done(2016-04-15 07:38) @project(Taking Action)
✔ A message is sent to the server that the pattern has been updated, and the new pattern is included with the message @done(2016-04-15 07:38) @project(Taking Action / ☐ On update pattern)
✔ The server builds the command to run in the test folder, and uses child_process.spawn to run the tests @done(2016-04-15 07:38) @project(Taking Action / ☐ On update pattern)
✔ The server gets the output of running the tests, and sends it back to the client over the socket @done(2016-04-15 07:38) @project(Taking Action / ☐ On update pattern)
✔ The client shows the test logs in its log area @done(2016-04-15 07:38) @project(Taking Action / ☐ On update pattern)
# Future features:
☐ Server check disk for new tests every 5 seconds, and use sockets to update UI
# Design inspiration:
http://flatfull.com/themes/flatkit/angular/?bg=black#/app/dashboard
https://dribbble.com/shots/1821178-Sales-Report
https://dribbble.com/shots/1507810-Sparrow/attachments/227068
https://dribbble.com/shots/1262636-To-Do-Dashboard/attachments/172917