Added more cucumber tests (wip)
This commit is contained in:
parent
fb3511b264
commit
236d06308d
6 changed files with 69 additions and 11 deletions
|
|
@ -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
|
||||
|
|
|
|||
17
cucumber/features/pages.feature
Normal file
17
cucumber/features/pages.feature
Normal 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
|
||||
|
|
@ -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');
|
||||
|
|
|
|||
43
cucumber/features/steps_definitions/pages.js
Normal file
43
cucumber/features/steps_definitions/pages.js
Normal 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();
|
||||
});
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue