diff --git a/.testcafe/Data/systemData.js b/.testcafe/Data/systemData.js new file mode 100644 index 000000000..3d5df45dd --- /dev/null +++ b/.testcafe/Data/systemData.js @@ -0,0 +1 @@ +export const MAIN_PAGE_URL = "http://localhost:9000/"; diff --git a/.testcafe/Data/userData.js b/.testcafe/Data/userData.js new file mode 100644 index 000000000..a3d54f7d0 --- /dev/null +++ b/.testcafe/Data/userData.js @@ -0,0 +1,2 @@ +export const DEFAULT_USER_EMAIL = "admin@example.com"; +export const DEFAULT_USER_PASSWORD = "admin"; diff --git a/.testcafe/Models/homePageModel.js b/.testcafe/Models/homePageModel.js index 53c2e5534..8e400c7e6 100644 --- a/.testcafe/Models/homePageModel.js +++ b/.testcafe/Models/homePageModel.js @@ -1,7 +1,11 @@ -import {Selector,t} from 'testcafe'; +import { Selector, t } from "testcafe"; -export default class HomePage{ - constructor(){ - this.header = Selector ('[data-tc="home-header"]'); - } -} \ No newline at end of file +export default class HomePage { + constructor() { + this.header = Selector('[data-tc="home-header"]'); + this.catalogMenu = Selector('[data-tc="Catalog"]'); + this.productsSubMenu = Selector( + '[data-tc="catalogue"]>[aria-label="products"]' + ); + } +} diff --git a/.testcafe/Models/loginPageModel.js b/.testcafe/Models/loginPageModel.js index 138c5aae5..5447a6fdb 100644 --- a/.testcafe/Models/loginPageModel.js +++ b/.testcafe/Models/loginPageModel.js @@ -1,17 +1,16 @@ -import {Selector,t} from 'testcafe'; +import { Selector, t } from "testcafe"; -export default class LoginPage{ - constructor(){ - this.mainPageURL='http://localhost:9000/'; - this.email = Selector('[data-tc="email"]'); - this.password = Selector('[data-tc="password"]'); - this.submitButton = Selector('[data-tc="submit"]'); - } +export default class LoginPage { + constructor() { + this.email = Selector('[data-tc="email"]'); + this.password = Selector('[data-tc="password"]'); + this.submitButton = Selector('[data-tc="submit"]'); + } - async performLogin(putEmail, putPassword){ - await t - .typeText(this.email, putEmail) - .typeText(this.password, putPassword) - .click(this.submitButton); - } -} \ No newline at end of file + async performLogin(putEmail, putPassword) { + await t + .typeText(this.email, putEmail) + .typeText(this.password, putPassword) + .click(this.submitButton); + } +} diff --git a/.testcafe/Tests/loginPageTests.js b/.testcafe/Tests/loginPageTests.js index abbcab553..9f612dd4f 100644 --- a/.testcafe/Tests/loginPageTests.js +++ b/.testcafe/Tests/loginPageTests.js @@ -1,7 +1,7 @@ -import * as verifier from '../Verifications/loginPageVerifications'; +import * as verifier from "../Verifications/loginPageVerifications"; +import { MAIN_PAGE_URL } from "../Data/systemData"; -fixture `Login Tests` - .page(verifier.mainPageURL); +fixture`Login Tests`.page(MAIN_PAGE_URL); - verifier.verifyEmailAndPasswordDisplayed(); - verifier.verifyIfUserCanLogin(); \ No newline at end of file +verifier.verifyEmailAndPasswordDisplayed(); +verifier.verifyIfUserCanLogin(); diff --git a/.testcafe/Verifications/loginPageVerifications.js b/.testcafe/Verifications/loginPageVerifications.js index 80d97cc7e..73c32c821 100644 --- a/.testcafe/Verifications/loginPageVerifications.js +++ b/.testcafe/Verifications/loginPageVerifications.js @@ -1,23 +1,20 @@ -import LoginPage from '../Models/loginPageModel'; -import HomePage from '../Models/homePageModel'; +import LoginPage from "../Models/loginPageModel"; +import HomePage from "../Models/homePageModel"; +import { DEFAULT_USER_EMAIL, DEFAULT_USER_PASSWORD } from "../Data/userData"; const loginPage = new LoginPage(); const homePage = new HomePage(); -export const mainPageURL = loginPage.mainPageURL; -const USER_EMAIL = 'admin@example.com'; -const USER_PASSWORD = 'admin'; - -export function verifyEmailAndPasswordDisplayed(){ - test('Verify that Email and Password are displayed', async t =>{ - await t.expect(loginPage.email.exists).ok(); - await t.expect(loginPage.password.exists).ok(); - }) +export function verifyEmailAndPasswordDisplayed() { + test("Verify that Email and Password are displayed", async t => { + await t.expect(loginPage.email.exists).ok(); + await t.expect(loginPage.password.exists).ok(); + }); } -export function verifyIfUserCanLogin(){ - test.only('PerformLogin', async t =>{ - await loginPage.performLogin(USER_EMAIL, USER_PASSWORD); - await t.expect(homePage.header.exists).ok(); - } ) +export function verifyIfUserCanLogin() { + test("PerformLogin", async t => { + await loginPage.performLogin(DEFAULT_USER_EMAIL, DEFAULT_USER_PASSWORD); + await t.expect(homePage.header.exists).ok(); + }); }