Skip to content

Instantly share code, notes, and snippets.

@icebob
Last active July 24, 2016 13:40
Show Gist options
  • Save icebob/66da76f40db03b7f6b97382a049b04de to your computer and use it in GitHub Desktop.
Save icebob/66da76f40db03b7f6b97382a049b04de to your computer and use it in GitHub Desktop.
Signup page E2E test case
"use strict";
let mailtrap = require("../../util/mailtrap");
let fakerator = require("fakerator")();
let pauseTime = 100;
let user = fakerator.entity.user();
user.name = user.firstName + " " + user.lastName;
describe("Test signup page workflow", () => {
...
it("should accept signup, if every data is good", (browser) => {
signupPage.navigate()
.signup(user.name, user.email, user.userName, user.password, false)
.waitForElementPresent(".flash")
.assert.elementPresent("@flashInfo")
.assert.containsText("@flashInfo", "Please check your email to verify your account. Thanks for signing up!")
.api.pause(pauseTime)
.assert.urlEquals(loginPage.url)
.makeScreenshot();
browser
.pause(1000) // Wait for email received
.perform(function(browser, done) {
console.log("Check mailbox...");
let re = /verify\/(\w+)/g;
mailtrap.getTokenFromMessage(user.email, re, function(err, token, message) {
if (err)
throw new Error(err);
// Delete message
mailtrap.deleteMessage(null, message.id);
// open verify link with token
browser.url(baseURL + "/verify/" + token);
return done();
});
return this;
})
.pause(pauseTime);
// Check the user redirected to main app
homePage
.waitForElementVisible("@title")
.assert.urlEquals(homePage.url)
.assert.containsText("@title", "Home")
.makeScreenshot();
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment