Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- dashboardPage
- this.btnJobCode = $('[href="/job_codes/"]');
- this.btnAddCompany = $('[href="/companies/add/"]');
- this.btnDetails = $('[aria-label="Details"]');
- this.btnAddContacts = $('[href="/contacts/add/"]');
- ------------------------------------
- servises/index
- getJobCodePage: function () {
- const JobCodePage = require('./JobCodePage');
- return new JobCodePage();
- },
- getAddCompanyPage: function () {
- const AddCompanyPage = require('./AddCompanyPage');
- return new AddCompanyPage();
- },
- getAddContactsPage: function () {
- const AddContactsPage = require('./AddContactsPage');
- return new AddContactsPage();
- }
- ------------------------------------------------------
- AddCompanyPage
- 'use strict';
- const commonHelper = require('./helpers/common.helper');
- class AddCompanyPage {
- constructor() {
- this.companyTitle = $('h3');
- this.txtCompanyName = $('[ng-model="company.name"]');
- this.txtCompanySite = $('[ng-model="company.website"]');
- this.txtCompanyNote = $('[ng-model="company.notes"]');
- this.txtCompanyType = $('[ng-model="company.kind"]');
- this.btnSaveCompany = element(by.xpath('//span[text()="Save"]'));
- this.imageCompany = $('[src="company.icon_path"]');
- this.txtSeachCompany = $('[ng-change="getCompanies()"]');
- }
- 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();
- }
- searchCompany(name){
- return element(by.xpath('//*[contains(@class, "md-cell ng-binding")][contains(.,"'+ name +'")]'));
- }
- }
- module.exports = AddCompanyPage;
- --------------------------------------------------
- AddContactsPage
- 'use strict';
- const commonHelper = require('./helpers/common.helper');
- class AddContactsPage {
- constructor() {
- this.txtContactName = $('[ng-model="contact.first_name"]');
- this.txtContactLastName = $('[ng-model="contact.last_name"]');
- this.txtContactTitte = $('[ng-model="contact.title"]');
- this.txtContactNumber = $('[ng-model="contact.phone_number"]');
- this.txtContactEmail = $('[ng-model="contact.email"]');
- this.txtContactsCompany = $('[ng-model="contact.company"]');
- this.txtContactsOffices = $('[ng-model="contact.offices"]');
- this.txtSeachContacts = $('[ng-change="getCallers()"]');
- this.btnSaveCompany = element(by.xpath('//span[text()="Save"]'));
- this.btnDetailsContact = element(by.xpath('//*[contains(@class,"md-whiteframe layout-padding")]//*[contains(@class, "material-icons")]'));
- }
- getTable(attribute) {
- return element(by.xpath('//span[text()=.,"'+ attribute +'"]'))
- }
- saveCompany(){
- browser.executeScript('document.querySelector(".md-select-backdrop").remove()');
- browser.executeScript('document.getElementsByClassName("md-scroll-mask")[0].style.display = "none"');
- this.btnSaveCompany.click();
- }
- selectContactOffices(name){
- browser.waitForAngular();
- commonHelper.waitUntilElementVisible(this.txtContactsOffices);
- browser.sleep(1000);
- this.txtContactsOffices.click();
- browser.sleep(2000);
- element(by.xpath('//div[contains(@class, "md-select-menu-container")]//div[contains(.,"'+ name +'")]')).click();
- browser.executeScript('document.getElementsByClassName("md-select-menu-container md-oc-theme md-active md-clickable")[0].style.display = "none"')
- }
- selectContactCompany(name){
- browser.waitForAngular();
- commonHelper.waitUntilElementVisible(this.txtContactsCompany);
- browser.sleep(1000);
- this.txtContactsCompany.click();
- browser.sleep(2000);
- element(by.xpath('//div[contains(@class, "md-select-menu-container md-oc-theme md-active md-clickable")]//div[contains(.,"'+ name +'")]')).click();
- }
- }
- module.exports = AddContactsPage;
- ---------------------------------------------------------------------
- JobCodePage
- 'use strict';
- const commonHelper = require('./helpers/common.helper');
- class JobCodePage {
- constructor() {
- this.btnAddCode = $('[aria-label="Add Code"]');
- this.pageTittle = $('h3');
- this.txtJobCode = $('[ng-model="jobCode.user_job_code_no"]');
- this.txtDiscription = $('[ng-model="jobCode.description"]');
- this.btnSave = $('[aria-label="Save"]');
- this.txtSearchCode = $('[ng-model="paginator.query.search"]');
- this.btnDetailsJobe = element(by.xpath('//*[contains(@class,"md-table ng-isolate-scope")]//*[contains(@class, "material-icons icon-stroke")]'));
- }
- searchCode(name){
- return element(by.xpath('//*[contains(@class, "md-cell ng-binding")][contains(.,"'+ name +'")]'));
- }
- }
- module.exports = JobCodePage;
- -------------------------------------------------------------
- dashboard.spec
- 'use strict';
- const pageObject = require('./../../services').container.PageObject;
- const signInPage = pageObject.getSignInPage();
- const dashboardPage = pageObject.getDashboardPage();
- const ticketsPage = pageObject.getTicketsPage();
- const editTicketPage = pageObject.getEditTicketPage()
- const jobCodePage = pageObject.getJobCodePage();
- const addCompanyPage = pageObject.getAddCompanyPage();
- const addContactsPage = pageObject.getAddContactsPage();
- const signInData = require('./../../data/sign_in');
- const dashboardData = require('./../../data/dashboard');
- const ticketsData = require('./../../data/tickets');
- 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 job code', () => {
- 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 add job code', () => {
- dashboardPage.openMenu('Jobs');
- dashboardPage.btnJobCode.click();
- expect(dashboardPage.pageTittle.getText()).toEqual('Job Codes');
- });
- it('should click on add job code', () => {
- jobCodePage.btnAddCode.click();
- expect(jobCodePage.pageTittle.getText()).toEqual('Add Job Code');
- });
- it('should add job code', () => {
- jobCodePage.txtJobCode.sendKeys(time);
- jobCodePage.txtDiscription.sendKeys('Job'+time);
- jobCodePage.btnSave.click();
- commonHelper.waitUntilElementPresent(jobCodePage.btnAddCode);
- });
- /* it('should search job code', () => {
- jobCodePage.txtSearchCode.sendKeys(time);
- commonHelper.waitUntilElementVisible(jobCodePage.searchCode(time));
- });
- it('should see job code details',()=>{
- jobCodePage.btnDetailsJobe.click();
- });*/
- });
- describe('checking for add company', () => {
- 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 add company', () => {
- dashboardPage.btnAddCompany.click();
- expect(addCompanyPage.companyTitle.getText()).toEqual('Add Company');
- });
- it('should add company', () => {
- addCompanyPage.txtCompanyName.sendKeys('Microsoft' + time);
- addCompanyPage.txtCompanySite.sendKeys('www.'+ time +'.com');
- addCompanyPage.selectCompanyType('Service');
- addCompanyPage.txtCompanyNote.sendKeys(time);
- });
- it('should add icon company',() => {
- editTicketPage.uploadAttachment('index.jpg');
- addCompanyPage.btnSaveCompany.click();
- expect(addCompanyPage.imageCompany.isDisplayed()).toBe(true);
- });
- it('should redirect to dashboard',() => {
- dashboardPage.openMenu('Dashboard');
- expect(dashboardPage.pageTittle.getText()).toEqual(dashboardData.title);
- });
- it('should search company',() => {
- addCompanyPage.txtSeachCompany.sendKeys('Microsoft' + time);
- commonHelper.waitUntilElementVisible(addCompanyPage.searchCompany('Microsoft' + time));
- });
- it('should see company details',() => {
- dashboardPage.btnDetails.click();
- expect(dashboardPage.pageTittle.getText()).toEqual('Microsoft' + time);
- });
- });
- describe('checking for add contacts', () => {
- 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 add contacts', () => {
- dashboardPage.btnAddContacts.click();
- });
- it('should add contacts', () => {
- addContactsPage.txtContactName.sendKeys('Gabe' + time);
- addContactsPage.txtContactLastName.sendKeys('Malcovich'+ time);
- addContactsPage.txtContactTitte.sendKeys('QA' + time);
- addContactsPage.selectContactCompany('Chevron');
- addContactsPage.selectContactOffices('Chevron Corporate Offices');
- addContactsPage.txtContactNumber.sendKeys(time);
- addContactsPage.txtContactEmail.sendKeys(time + '@mailinator.com');
- });
- it('should save contacts', () => {
- addContactsPage.saveCompany();
- });
- it('should redirect to dashboard',() => {
- dashboardPage.openMenu('Dashboard');
- expect(dashboardPage.pageTittle.getText()).toEqual(dashboardData.title);
- });
- it('should search contacts',() => {
- addContactsPage.txtSeachContacts.sendKeys('Gabe' + time);
- commonHelper.waitUntilElementVisible(addCompanyPage.searchCompany('Gabe' + time));
- });
- it('should see contacts details',() => {
- addContactsPage.btnDetailsContact.click();
- expect(dashboardPage.pageTittle.getText()).toEqual('QA' + time);
- expect(addContactsPage.getTable(time + '@mailinator.com'));
- expect(addContactsPage.getTable(time));
- });
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement