Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- contacts.spec
- 'use strict';
- const pageObject = require('./../../services').container.PageObject;
- const signInPage = pageObject.getSignInPage();
- const dashboardPage = pageObject.getDashboardPage();
- const editTicketPage = pageObject.getEditTicketPage();
- const addCompanyPage = pageObject.getAddCompanyPage();
- const addContactsPage = pageObject.getAddContactPage();
- const contactsPage = pageObject.getContactsPage();
- const jobCodePage = pageObject.getJobCodePage();
- const signInData = require('./../../data/sign_in');
- const dashboardData = require('./../../data/dashboard');
- const commonHelper = require('./../../services/helpers/common.helper');
- var strftime = require('strftime');
- describe('Dashboard', () => {
- var username = signInData.testAccount.username;
- var password = signInData.testAccount.password;
- beforeAll(() => {
- browser.ignoreSynchronization = false;
- browser.driver.manage().window().setSize(1440, 900);
- });
- afterAll(() => {
- commonHelper.clearAllData();
- });
- /*describe('checking for add contacts from menu', () => {
- var time = commonHelper.uniqueValue();
- beforeAll(() => {
- browser.get(signInData.link);
- });
- afterAll(() => {
- commonHelper.clearAllData();
- });
- it('should open login page', () => {
- expect(signInPage.btnLogin.isDisplayed()).toBe(true);
- });
- it('should redirect on dashboard page after login', () => {
- signInPage.login(username, password);
- commonHelper.waitUntilElementPresent(dashboardPage.menu);
- expect(dashboardPage.pageTittle.getText()).toEqual(dashboardData.title);
- });
- it('should click on contacts from menu', () => {
- dashboardPage.openMenu('Contacts');
- expect(dashboardPage.pageTittle.getText()).toEqual('Contacts');
- });
- it('should click on add contacts', () => {
- contactsPage.btnAddContacts.click();
- commonHelper.waitUntilElementVisible(addContactsPage.txtContactName);
- });
- it('should add contacts', () => {
- addContactsPage.txtContactName.sendKeys('Gabe' + time);
- addContactsPage.txtContactLastName.sendKeys('Malcovich'+ time);
- addContactsPage.txtContactTitte.sendKeys('QA' + time);
- addContactsPage.selectContactCompany('Chevron');
- contactsPage.selectContactOffices('Chevron Corporate Offices');
- addContactsPage.txtContactNumber.sendKeys(time);
- addContactsPage.txtContactEmail.sendKeys(time + '@mailinator.com');
- });
- it('should save contacts', () => {
- addContactsPage.saveCompany();
- });
- it('should search contacts', () => {
- jobCodePage.txtSearchCode.sendKeys(time);
- commonHelper.waitUntilElementVisible(jobCodePage.searchCode(time));
- });
- it('should see contacts details',()=>{
- jobCodePage.btnDetailsJobe.click();
- expect(contactsPage.getTable('QA' + time));
- expect(addContactsPage.getTable(time + '@mailinator.com'));
- expect(addContactsPage.getTable(time));
- expect(contactsPage.getTable('Gabe' + time + ' Malcovich'+ time));
- });
- });*/
- describe('checking for add company from menu', () => {
- var time = commonHelper.uniqueValue();
- beforeAll(() => {
- browser.get(signInData.link);
- });
- afterAll(() => {
- commonHelper.clearAllData();
- });
- it('should open login page', () => {
- expect(signInPage.btnLogin.isDisplayed()).toBe(true);
- });
- it('should redirect on dashboard page after login', () => {
- signInPage.login(username, password);
- commonHelper.waitUntilElementPresent(dashboardPage.menu);
- expect(dashboardPage.pageTittle.getText()).toEqual(dashboardData.title);
- });
- it('should click on contacts from menu', () => {
- dashboardPage.openMenu('Contacts');
- expect(dashboardPage.pageTittle.getText()).toEqual('Contacts');
- });
- it('should click on companies tab', () => {
- browser.sleep(5000);
- contactsPage.tabCompanies.click();
- commonHelper.waitUntilElementVisible(contactsPage.btnAddOffice);
- });
- it('should click on add office', () => {
- contactsPage.btnAddOffice.click();
- //commonHelper.waitUntilElementVisible(addContactsPage.txtOfficeName);
- browser.sleep(5000);
- });
- it('should add company', () => {
- // contactsPage.selectContactOffices('Chevron');
- contactsPage.txtOfficeName.sendKeys('Batcave' + time);
- contactsPage.selectRegion('Roosevelt');
- contactsPage.txtOfficePhone.sendKeys(time);
- contactsPage.txtOfficeATTN.sendKeys('Inc.' + time);
- contactsPage.txtOfficeLine1.sendKeys(time);
- contactsPage.txtOfficeLine2.sendKeys(time);
- contactsPage.txtOfficeCity.sendKeys('Lyon' + time);
- contactsPage.txtOfficeState.sendKeys('Minnesota' + time);
- contactsPage.txtOfficeZipcode.sendKeys(time);
- contactsPage.txtOfficeCountry.sendKeys('Country' + time);
- });
- it('should save contacts', () => {
- addContactsPage.saveCompany();
- });
- it('should search contacts', () => {
- jobCodePage.txtSearchCode.sendKeys(time);
- commonHelper.waitUntilElementVisible(jobCodePage.searchCode(time));
- });
- it('should see contacts details',()=>{
- jobCodePage.btnDetailsJobe.click();
- });
- });
- });
- ----------------------------------------------------
- contact.po
- 'use strict';
- const commonHelper = require('./helpers/common.helper');
- class ContactsPage {
- constructor() {
- this.btnAddContacts = $('[aria-label="Add Contact"]');
- this.btnAddOffice = $('[aria-label="Add Office"]');
- this.txtContactsOffices = $('[aria-label="Company"]');
- this.txtOfficeCompany = $('[aria-label="Offices"]');
- this.txtOfficeName = element(by.model('office.name'));
- this.txtOfficeRegion = element(by.model('office.region'));
- this.txtOfficePhone = element(by.model('office.phone_number'));
- this.txtOfficeATTN = element(by.model('office.address.attn_line'));
- this.txtOfficeLine1 = element(by.model('office.address.line1'));
- this.txtOfficeLine2 = element(by.model('office.address.line2'));
- this.txtOfficeCity = element(by.model('office.address.city'));
- this.txtOfficeState = element(by.model('office.address.state'));
- this.txtOfficeZipcode = element(by.model('office.address.zipcode'));
- this.txtOfficeCountry = element(by.model('office.address.country'));
- this.tabCompanies = element(by.cssContainingText("md-tab-item span", "Companies"));
- }
- getTable(name){
- return element(by.xpath('//div[containd(@class, "md-list-item-text")]/*[contains(,."'+ name +'")]'));
- }
- selectContactOffices(name){
- browser.waitForAngular();
- commonHelper.waitUntilElementVisible(this.txtOfficeCompany);
- browser.sleep(1000);
- this.txtOfficeCompany.click();
- browser.sleep(2000);
- element(by.xpath('//div[contains(@class, "md-select-menu-container md-oc-theme md-active md-clickable")]//*[contains(@class,"ng-scope md-checkbox-enabled md-ink-ripple")]//*[contains(.,"'+ name +'")]')).click();
- browser.executeScript('document.getElementsByClassName("md-select-menu-container md-oc-theme md-active md-clickable")[0].style.display = "none"')
- }
- selectCompanyType(type){
- browser.waitForAngular();
- commonHelper.waitUntilElementVisible(this.txtCompanyType);
- browser.sleep(1000);
- this.txtCompanyType.click();
- browser.sleep(2000);
- element(by.xpath('//div[contains(@class, "md-select-menu-container")]//div[contains(.,"'+ type +'")]')).click();
- }
- selectRegion(type){
- browser.waitForAngular();
- commonHelper.waitUntilElementVisible(this.txtOfficeRegion);
- browser.sleep(1000);
- this.txtOfficeRegion.click();
- browser.sleep(2000);
- element(by.xpath('//div[contains(@class, "md-select-menu-container")]//div[contains(.,"'+ type +'")]')).click();
- }
- }
- module.exports = ContactsPage;
- -------------------------------------------------------------------------------------
- dashboard.po
- 'use strict';
- class DashboardPage {
- constructor() {
- this.menu = $('[role="navigation"]');
- this.pageTittle = $('h1');
- this.btnPlus = $('#btn-add');
- this.btnJobCode = $('[href="/job_codes/"]');
- this.btnAddCompany = $('[href="/companies/add/"]');
- this.btnDetails = $('[aria-label="Details"]');
- this.btnAddContacts = $('[href="/contacts/add/"]');
- this.btnSku = $('[href="/oil_field/sku"]');
- this.btnWells = $('[href="/oil_field/wells"]');
- this.btnEdit = $('[aria-label="Edit"]');
- this.btnUser = $('[ng-show="user"]');
- this.btnLogout = $('[ng-click="logout()"]');
- }
- openMenu(menuItem) {
- element(by.xpath('//*[@class="nav-label ng-binding"][text()="' + menuItem + '"]')).click()
- }
- selectItem(item) {
- element(by.xpath('//a[text()="' + item + '"]')).click()
- }
- }
- module.exports = DashboardPage;
- --------------------------------------------------------------------
- sing_in.spec
- 'use strict';
- const pageObject = require('./../../services').container.PageObject;
- const signInPage = pageObject.getSignInPage();
- const dashboardPage = pageObject.getDashboardPage();
- const signInData = require('./../../data/sign_in');
- const dashboardData = require('./../../data/dashboard');
- const commonHelper = require('./../../services/helpers/common.helper');
- describe('Sign In', () => {
- var username = signInData.testAccount.username;
- var password = signInData.testAccount.password;
- var incorrectUser = signInData.incorrectAccount.username;
- var incorrectPass = signInData.incorrectAccount.password;
- var incorrectMessage = signInData.incorrectMessage;
- beforeAll(() => {
- browser.ignoreSynchronization = false;
- browser.driver.manage().window().setSize(1440, 900);
- });
- afterAll(() => {
- commonHelper.clearAllData();
- });
- describe('checking for logout', () => {
- beforeAll(() => {
- browser.get(signInData.link);
- });
- afterAll(() => {
- commonHelper.clearAllData();
- });
- it('should open login page', () => {
- expect(signInPage.btnLogin.isDisplayed()).toBe(true);
- });
- it('should redirect on dashboard page after login', () => {
- signInPage.login(username, password);
- commonHelper.waitUntilElementPresent(dashboardPage.menu);
- expect(dashboardPage.pageTittle.getText()).toEqual(dashboardData.title);
- });
- it('should logout', () => {
- dashboardPage.btnUser.click();
- dashboardPage.btnLogout.click();
- commonHelper.waitUntilElementVisible(signInPage.btnLogin);
- });
- });
- describe('checking for login as valid user', () => {
- beforeAll(() => {
- browser.get(signInData.link);
- });
- afterAll(() => {
- commonHelper.clearAllData();
- });
- it('should open login page', () => {
- expect(signInPage.btnLogin.isDisplayed()).toBe(true);
- });
- it('should redirect on dashboard page after login', () => {
- signInPage.login(username, password);
- commonHelper.waitUntilElementPresent(dashboardPage.menu);
- expect(dashboardPage.pageTittle.getText()).toEqual(dashboardData.title);
- });
- });
- describe('checking for login as invalid user', () => {
- beforeAll(() => {
- browser.get(signInData.link);
- });
- afterAll(() => {
- commonHelper.clearAllData();
- });
- it('should open login page', () => {
- expect(signInPage.btnLogin.isDisplayed()).toBe(true);
- });
- it('should click login', () => {
- signInPage.btnLogin.click();
- expect(dashboardPage.menu.isPresent()).toBe(false);
- expect(signInPage.btnLogin.isDisplayed()).toBe(true);
- });
- it('should redirect on dashboard page after login', () => {
- signInPage.login(incorrectUser, incorrectPass);
- expect(signInPage.errorLogin(incorrectMessage));
- });
- });
- });
- --------------------------------------------------------
- sing_in.po
- 'use strict';
- class SignInPage {
- constructor() {
- this.txtUsername = element(by.model('credentials.username'));
- this.txtPassword = element(by.model('credentials.password'));
- this.btnLogin = $('[type="submit"]');
- }
- errorLogin(name){
- return element(by.xpath('//p[contains(.,"'+name+'")]'));
- }
- login(email, password) {
- this.fillEmailField(email);
- this.fillPasswordField(password);
- this.btnLogin.click();
- }
- fillEmailField(email) {
- this.txtUsername.clear();
- this.txtUsername.sendKeys(email);
- }
- fillPasswordField(password) {
- this.txtPassword.clear();
- this.txtPassword.sendKeys(password);
- }
- }
- module.exports = SignInPage;
- -------------------------------------------------------------
- data/sing_in/index
- 'use strict';
- module.exports = {
- link: browser.baseUrl + '/login/',
- testAccount: {
- username: 'Testing',
- password: 'testtest'
- },
- incorrectAccount: {
- username: 'username',
- password: 'password'
- },
- incorrectMessage: 'Unable to log in with provided credentials'
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement