Commit 98cc1b2f3afc3f63fee530b3431911b5787773fa

Authored by Leonardo Merlin
1 parent 559e7c08

Initial e2e test for pages

e2e/pages/article.spec.js 0 → 100644
... ... @@ -0,0 +1,14 @@
  1 +(function(){
  2 + 'use strict';
  3 +
  4 + describe('The index page', function () {
  5 +
  6 + beforeEach(function () {
  7 + browser.get('/');
  8 + });
  9 +
  10 + describe('Common layout', function (){
  11 + require('layout')();
  12 + });
  13 + });
  14 +})();
... ...
e2e/pages/inicio.spec.js 0 → 100644
... ... @@ -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 +})();
... ...
e2e/pages/layout.js 0 → 100644
... ... @@ -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 +};
... ...
e2e/pages/progama.spec.js 0 → 100644
... ... @@ -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 +})();
... ...
e2e/pages/sobre.spec.js 0 → 100644
... ... @@ -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 +})();
... ...