Commit 98cc1b2f3afc3f63fee530b3431911b5787773fa
1 parent
559e7c08
Exists in
master
and in
8 other branches
Initial e2e test for pages
Showing
5 changed files
with
253 additions
and
0 deletions
Show diff stats
... | ... | @@ -0,0 +1,92 @@ |
1 | +/* global require */ | |
2 | +(function(){ | |
3 | + 'use strict'; | |
4 | + | |
5 | + describe('The index page', function () { | |
6 | + | |
7 | + beforeEach(function () { | |
8 | + browser.get('/'); | |
9 | + }); | |
10 | + | |
11 | + describe('Common layout', function (){ | |
12 | + require('layout')(); | |
13 | + }); | |
14 | + | |
15 | + describe('Component: Main Video', function(){ | |
16 | + it('should have a alt text', function() {}); | |
17 | + it('should have a thumb background image (for async)', function() {}); | |
18 | + it('should have a button play trigger', function() {}); | |
19 | + it('should be accessible', function() {}); | |
20 | + }); | |
21 | + | |
22 | + describe('Component: Agenda', function(){ | |
23 | + it('should have a title', function() {}); | |
24 | + it('should have a icon', function() {}); | |
25 | + it('should show the number of scheduled chats', function() {}); | |
26 | + it('should have a open trigger', function() {}); | |
27 | + it('should be accessible', function() {}); | |
28 | + | |
29 | + describe('Component: Agenda / Open-panel', function(){ | |
30 | + it('should have a close trigger', function() {}); | |
31 | + it('should have the date/time of scheduled chat', function() {}); | |
32 | + it('should have the title of scheduled chat', function() {}); | |
33 | + it('should have a subscribe button to scheduled chat', function() {}); | |
34 | + it('should show the number of subscribers on each item', function() {}); | |
35 | + it('should show 5 itens at most', function() {}); | |
36 | + it('should be accessible', function() {}); | |
37 | + }); | |
38 | + | |
39 | + describe('Component: Agenda / with Hangout', function(){ | |
40 | + it('should have a title', function() {}); | |
41 | + it('should have a thumb background image (for async)', function() {}); | |
42 | + it('should have a button trigger to start the video', function() {}); | |
43 | + it('should have a description', function() { | |
44 | + // PATTERN: %DATETIME - %TITLE, %CATEGORY, ? | |
45 | + // Get it from the endpoint or assembly-it ? | |
46 | + }); | |
47 | + it('should have a open trigger', function() { | |
48 | + // with: | |
49 | + // - total of scheduled events | |
50 | + // - icon: arrow down | |
51 | + }); | |
52 | + }); | |
53 | + }); | |
54 | + | |
55 | + describe('Component: Category List', function(){ | |
56 | + it('should have a title', function() {}); | |
57 | + it('should have list of category', function() {}); | |
58 | + it('should have the icon of each category', function() {}); | |
59 | + it('should have the name of each category', function() {}); | |
60 | + it('should be accessible', function() {}); | |
61 | + // what expect on hover or focus? Material Desgn likes? | |
62 | + // | |
63 | + }); | |
64 | + | |
65 | + describe('Component: Article List | Box (each) ', function(){ | |
66 | + it('should have a category label', function() {}); | |
67 | + it('should have a banner image', function() {}); | |
68 | + it('should have a alternatve text for the banner image', function() {}); | |
69 | + it('should have a title', function() {}); | |
70 | + it('should have 50 letters at most on title', function() {}); | |
71 | + it('should have a abstract', function() {}); | |
72 | + it('should have 200 letters at most on abstract', function() {}); | |
73 | + it('should have the number of sent proposals', function() {}); | |
74 | + it('should have a call-to-action button', function() {}); | |
75 | + it('should have the same color of the category-color at call-to-action button', function() {}); | |
76 | + it('should be accessible', function() {}); | |
77 | + // what colors on what? | |
78 | + // what are links/clickable/focusable | |
79 | + }); | |
80 | + | |
81 | + describe('Component: Search ', function(){ | |
82 | + it('should have a hidden label', function() {}); | |
83 | + it('should have a html5 search input', function() {}); | |
84 | + it('should have be focusable by a11y link', function() {}); | |
85 | + it('should have a more filters?', function() {}); | |
86 | + it('should be accessible', function() {}); | |
87 | + // what behaviours? | |
88 | + // more filters? ordering by alphabet: name, category, random. | |
89 | + // show results at another page | |
90 | + }); | |
91 | + }); | |
92 | +})(); | ... | ... |
... | ... | @@ -0,0 +1,64 @@ |
1 | +module.exports = function(){ | |
2 | + 'use strict'; | |
3 | + | |
4 | + describe('The common layout', function () { | |
5 | + | |
6 | + describe('Accessibility (a11y) top bar', function(){ | |
7 | + it('should have a "go-to-content" anchor', function() {}); | |
8 | + it('should have a "go-to-menu" anchor', function() {}); | |
9 | + it('should have a "go-to-search" anchor', function() {}); | |
10 | + it('should have a "go-to-footer" anchor', function() {}); | |
11 | + | |
12 | + it('should have a accessibility anchor', function() {}); | |
13 | + it('should have a adjust contrast anchor', function() {}); | |
14 | + it('should have a sitemap anchor', function() {}); | |
15 | + }); | |
16 | + | |
17 | + describe('Header', function(){ | |
18 | + it('should have a logo', function() {}); | |
19 | + it('should have a navigation', function() {}); | |
20 | + it('should have a social share area', function() {}); | |
21 | + it('should have a "CADASTRAR" anchor', function() {}); | |
22 | + it('should have a "ENTRAR" anchor', function() {}); | |
23 | + it('should have a "Veja mais" area', function() {}); | |
24 | + it('should have a valid ARIA', function() {}); | |
25 | + | |
26 | + describe('Header / Navigation', function(){ | |
27 | + it('should have a "SOBRE" anchor', function() {}); | |
28 | + it('should have a "PROGRAMAS" anchor', function() {}); | |
29 | + it('should have a "PROPOSTAS" anchor', function() {}); | |
30 | + it('should have a "DÚVIDAS" anchor', function() {}); | |
31 | + it('should be condensed on mobile', function() {}); | |
32 | + it('should have a valid ARIA', function() {}); | |
33 | + // it('should have a "ENTRAR?" anchor on MOBILE?', function() {}); | |
34 | + // it('should have a "RANKING?" anchor on MOBILE?', function() {}); | |
35 | + // it('should have a "RESPOSTAS?" anchor on MOBILE?', function() {}); | |
36 | + // it('should have a "PARTICIPE?" anchor on MOBILE?', function() {}); | |
37 | + }); | |
38 | + | |
39 | + describe('Header / Social Share', function(){ | |
40 | + it('should have a facebook share button', function() {}); | |
41 | + it('should have a twitter share button', function() {}); | |
42 | + it('should have a gplus share button', function() {}); | |
43 | + it('should have a whatsapp share button', function() {}); | |
44 | + it('should be condensed on mobile', function() {}); | |
45 | + it('should have a email share button', function() {}); | |
46 | + it('should have a valid ARIA', function() {}); | |
47 | + // what to do when on mobile? | |
48 | + // too small on mobile? point issues | |
49 | + }); | |
50 | + | |
51 | + describe('Header / "Veja mais"', function(){ | |
52 | + it('should have a youtube link', function() {}); | |
53 | + // it('should have a flicker? link', function() {}); | |
54 | + it('should have a valid ARIA', function() {}); | |
55 | + // what to do when on mobile? | |
56 | + }); | |
57 | + }); | |
58 | + | |
59 | + describe('Footer', function(){ | |
60 | + it('should have a ?', function() {}); | |
61 | + it('should have a valid ARIA', function() {}); | |
62 | + }); | |
63 | + }); | |
64 | +}; | ... | ... |
... | ... | @@ -0,0 +1,55 @@ |
1 | +(function(){ | |
2 | + 'use strict'; | |
3 | + | |
4 | + describe('The "Programa" page', function () { | |
5 | + | |
6 | + beforeEach(function () { | |
7 | + browser.get('/'); | |
8 | + | |
9 | + }); | |
10 | + | |
11 | + describe('Common layout', function (){ | |
12 | + require('layout')(); | |
13 | + }); | |
14 | + | |
15 | + describe('Component: article-preview', function (){}); | |
16 | + | |
17 | + describe('Component: article-content', function (){}); | |
18 | + | |
19 | + // describe('Component: article-template-1', function (){}); | |
20 | + | |
21 | + describe('Component: proposal-random', function (){ | |
22 | + it('should have a loading state', function() {}); | |
23 | + it('should have a breadcrumb', function() {}); | |
24 | + it('should have the text-content of proposal', function() {}); | |
25 | + it('should have a vote up button', function() {}); | |
26 | + it('should have a vote skip button', function() {}); | |
27 | + it('should have a vote down button', function() {}); | |
28 | + it('should have a social share area', function() {}); | |
29 | + it('should have the ranking position', function() {}); | |
30 | + it('should have a ranking button trigger', function() {}); | |
31 | + it('should be accessible', function() {}); | |
32 | + }); | |
33 | + | |
34 | + describe('Component: proposal-ranking', function (){ | |
35 | + it('should have a loading state', function() {}); | |
36 | + it('should have a close button trigger', function() {}); | |
37 | + it('should have the ranking position of proposal', function() {}); | |
38 | + it('should have the text-content of proposal', function() {}); | |
39 | + it('should have the number of views', function() {}); | |
40 | + it('should have the number of votes up', function() {}); | |
41 | + it('should have the number of votes down', function() {}); | |
42 | + it('should have a link to proposal', function() {}); | |
43 | + it('should have a link to all proposals', function() {}); | |
44 | + it('should be accessible', function() {}); | |
45 | + }); | |
46 | + | |
47 | + describe('Component: proposal-maker', function (){ | |
48 | + it('should be accessible', function() {}); | |
49 | + }); | |
50 | + | |
51 | + describe('Component: proposal-ranking', function (){ | |
52 | + it('should be accessible', function() {}); | |
53 | + }); | |
54 | + }); | |
55 | +})(); | ... | ... |
... | ... | @@ -0,0 +1,28 @@ |
1 | +(function(){ | |
2 | + 'use strict'; | |
3 | + | |
4 | + describe('The "Sobre" page', function () { | |
5 | + | |
6 | + beforeEach(function () { | |
7 | + browser.get('/'); | |
8 | + }); | |
9 | + | |
10 | + describe('Common layout', function (){ | |
11 | + require('layout')(); | |
12 | + }); | |
13 | + | |
14 | + describe('Breadcrumb', function(){ | |
15 | + it('should have two itens', function() {}); | |
16 | + }); | |
17 | + | |
18 | + describe('Content', function(){ | |
19 | + it('should have a main video', function() {}); | |
20 | + it('should have a main video thumb image', function() {}); | |
21 | + it('should have a main video thumb image alternative text', function() {}); | |
22 | + | |
23 | + it('should have a "Programas" description', function() {}); | |
24 | + it('should have a "Propostas" tutorial', function() {}); | |
25 | + it('should be accessible', function() {}); | |
26 | + }); | |
27 | + }); | |
28 | +})(); | ... | ... |