Added more cucumber tests (wip)

This commit is contained in:
vjrj 2018-02-01 17:45:04 +01:00
parent fb3511b264
commit 236d06308d
6 changed files with 69 additions and 11 deletions

View file

@ -7,7 +7,6 @@ Feature: Allow users to login and logout
Background:
Given I am on the home page
@watch
Scenario: A user can login
Given I have an account and I logged in
When I sign out
@ -15,14 +14,12 @@ Feature: Allow users to login and logout
Then I should be logged in
And I can edit my profile
@watch
Scenario: A user cannot login with bad information
Given I have an account and I logged in
When I sign out
When I enter incorrect authentication information
Then I should see a user not found error
@watch
Scenario: A user can register and login
Given I register with some name, password and email
Then I should be registered
@ -32,7 +29,6 @@ Feature: Allow users to login and logout
Then I should be logged in
And I can edit my profile
@skip
Scenario: A user cannot register without accepting service conditions
Given I register with some name, password and email but without accept conditions
Then I shouldn't be registered

View file

@ -0,0 +1,17 @@
@watch
Feature: Test all secundary pages
Scenario: Check that all secondary pages work well
Given a list of page ids and contents
| license | License |
| tos | Terms of Service |
| credits | Credits |
| privacy | Privacy Policy |
| activeFires | Active Fires |
Then I check that all pages works properly
Scenario: Check that other non visible pages work well
Given a list of non visible pages ids and contents
| status | Status |
| error | Upps |
Then I check that all non visible pages works properly

View file

@ -5,13 +5,14 @@
this.Before(() => {
// global.expect = require('@xolvio/jasmine-expect').expect;
/* Not used
if (!this.initMyCmds) {
client.addCommand('waitForClickable', function elementClickable(selector, timeout) {
this.waitForVisible(selector, timeout);
this.waitForEnabled(selector, timeout);
});
this.initMyCmds = true;
}
} */
// server.call('fixtures/reset');
// server.call('emailStub/reset');

View file

@ -0,0 +1,43 @@
/* global module expect require process client */
const { goHome } = require('./helper.js');
// Does no works with arrow func
module.exports = function () {
let pages;
this.Given(/^a list of page ids and contents$/, (table, callback) => {
pages = table.raw();
callback();
});
function processPage(i) {
const id = `#${pages[i][0]}`;
const content = pages[i][1];
client.waitForVisible(id, 10000);
client.click(id);
client.waitForText('#react-root', content);
}
this.Given(/^a list of non visible pages ids and contents$/, (table, callback) => {
pages = table.raw();
callback();
});
this.Then(/^I check that all non visible pages works properly$/, (callback) => {
for (let i = 0; i < pages.length; i += 1) {
client.url(`${process.env.ROOT_URL}/${pages[i][0]}`);
const content = pages[i][1];
client.waitForText('#react-root', content);
}
callback();
});
this.Then(/^I check that all pages works properly$/, (callback) => {
goHome(client);
for (let i = 0; i < pages.length; i += 1) {
processPage(i);
}
callback();
});
};