Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- add_company.po
- 'use strict';
- const commonHelper = require('./helpers/common.helper');
- class AddCompanyPage {
- constructor() {
- this.companyTitle = $('h3');
- this.txtCompanyName = element(by.model('company.name'));
- this.txtCompanySite = element(by.model('company.website'));
- this.txtCompanyNote = element(by.model('company.notes'));
- this.txtCompanyType = $('[name="kind"]');
- this.btnSave = $('[aria-label="Save"]');
- this.imageCompany = $('[src="company.icon_path"]');
- this.txtSeachCompany = element(by.model('paginator.query.name__icontains'));
- }
- 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;
- ---------------------------------------------------
- add_contact.po
- 'use strict';
- const commonHelper = require('./helpers/common.helper');
- class AddContactPage {
- constructor() {
- this.txtContactName = element(by.model('contact.first_name'));
- this.txtContactLastName = element(by.model('contact.last_name'));
- this.txtContactTitte = element(by.model('contact.title'));
- this.txtContactNumber = element(by.model('contact.phone_number'));
- this.txtContactEmail = element(by.model('contact.email'));
- this.txtContactsCompany = $('[name="company"]');
- this.txtContactsOffices = $('[name="offices"]');
- this.txtSeachContacts = element(by.model('paginator.query.search'))
- this.btnSave = $('[aria-label="Save"]');
- this.btnEditContact = element(by.xpath('//a[text()="Edit Contact"]'));
- this.tittleEdit = element(by.xpath('//*[contains(.,"Edit Contact")]'));
- }
- getBtnDetailsContact(){
- return element(by.xpath('//div[contains(@class,"md-whiteframe layout-padding")]//*[contains(@class, "material-icons")][contains(.,"info")]'));
- }
- 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.btnSave.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 = AddContactPage;
- -------------------------------------------------------------
- contacts.po
- 'use strict';
- const commonHelper = require('./helpers/common.helper');
- class ContactsPage {
- constructor() {
- this.btnAddContacts = $('[aria-label="Add Contact"]');
- this.txtContactsOffices = element(by.model('contact.offices'));
- this.txtOfficeCompany = element(by.xpath('//label[text()="Company"]'));
- this.txtOfficeName = $('[ng-model="office.name"][name="officeForm"]');
- 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'));
- }
- 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.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 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;
- var name = dashboardData.companies.name;
- var site = dashboardData.companies.site;
- var type = dashboardData.companies.type;
- var editName = dashboardData.editCompanies.name;
- var editSite = dashboardData.editCompanies.site;
- var editType = dashboardData.editCompanies.type;
- var contactsName = dashboardData.contacts.name;
- var contactsLastName = dashboardData.contacts.lastName;
- var contactsTittle = dashboardData.contacts.tittle;
- var contactsCompany = dashboardData.contacts.company;
- var contactsOffice = dashboardData.contacts.office;
- var contactsEmail = dashboardData.contacts.email;
- var contactsEditName = dashboardData.editContacts.name;
- var contactsEditLastName = dashboardData.editContacts.lastName;
- var contactsEditTittle = dashboardData.editContacts.tittle;
- var contactsEditCompany = dashboardData.editContacts.company;
- var contactsEditOffice = dashboardData.editContacts.office;
- var contactsEditEmail = dashboardData.editContacts.email;
- beforeAll(() => {
- browser.ignoreSynchronization = false;
- browser.driver.manage().window().setSize(1440, 900);
- });
- afterAll(() => {
- commonHelper.clearAllData();
- });
- describe('checking for add and edit 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(name + time);
- addCompanyPage.txtCompanySite.sendKeys(site);
- addCompanyPage.selectCompanyType(type);
- addCompanyPage.txtCompanyNote.sendKeys(time);
- });
- it('should add icon for company',() => {
- editTicketPage.uploadAttachment('index.jpg');
- addCompanyPage.btnSave.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(name + time);
- commonHelper.waitUntilElementVisible(addCompanyPage.searchCompany(name + time));
- });
- it('should click on edit button',() => {
- dashboardPage.btnEdit.click();
- expect(addCompanyPage.companyTitle.getText()).toEqual('Edit Company');
- });
- it('should clear data', () => {
- addCompanyPage.txtCompanyName.clear();
- addCompanyPage.txtCompanySite.clear();
- addCompanyPage.txtCompanyNote.clear();
- });
- it('should edit company', () => {
- addCompanyPage.txtCompanyName.sendKeys(editName + time);
- addCompanyPage.txtCompanySite.sendKeys(editSite);
- addCompanyPage.selectCompanyType(editType);
- addCompanyPage.txtCompanyNote.sendKeys(time);
- });
- it('should edit icon for company',() => {
- editTicketPage.uploadAttachment('index.jpg');
- addCompanyPage.btnSave.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(editName + time);
- commonHelper.waitUntilElementVisible(addCompanyPage.searchCompany(editName + time));
- });
- it('should see changes in company details',() => {
- dashboardPage.btnDetails.click();
- expect(dashboardPage.pageTittle.getText()).toEqual('PineApple' + time);
- });
- });
- describe('checking for add and edit contact', () => {
- 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(contactsName + time);
- addContactsPage.txtContactLastName.sendKeys(contactsLastName);
- addContactsPage.txtContactTitte.sendKeys(contactsTittle);
- addContactsPage.selectContactCompany(contactsCompany);
- addContactsPage.selectContactOffices(contactsOffice);
- addContactsPage.txtContactNumber.sendKeys(time);
- addContactsPage.txtContactEmail.sendKeys(contactsEmail);
- });
- 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(contactsName + time);
- commonHelper.waitUntilElementVisible(addCompanyPage.searchCompany(contactsName + time));
- });
- it('should see contacts details',() => {
- addContactsPage.getBtnDetailsContact().click();
- expect(dashboardPage.pageTittle.getText()).toEqual(contactsTittle);
- expect(addContactsPage.getTable(contactsEmail));
- expect(addContactsPage.getTable(time));
- });
- it('should click on edit contacts', () => {
- addContactsPage.btnEditContact.click();
- commonHelper.waitUntilElementVisible(addContactsPage.tittleEdit);
- });
- it('should clear data', () => {
- addContactsPage.txtContactName.clear();
- addContactsPage.txtContactLastName.clear();
- addContactsPage.txtContactTitte.clear();
- addContactsPage.txtContactNumber.clear();
- addContactsPage.txtContactEmail.clear();
- });
- it('should edit contacts', () => {
- addContactsPage.txtContactName.sendKeys(contactsEditName + time);
- addContactsPage.txtContactLastName.sendKeys(contactsEditLastName);
- addContactsPage.txtContactTitte.sendKeys(contactsEditTittle);
- addContactsPage.selectContactCompany(contactsEditCompany);
- addContactsPage.selectContactOffices(contactsEditOffice);
- addContactsPage.txtContactNumber.sendKeys(time + '00');
- addContactsPage.txtContactEmail.sendKeys(contactsEditEmail);
- });
- 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(contactsEditName + time);
- commonHelper.waitUntilElementVisible(addCompanyPage.searchCompany(contactsEditName + time));
- });
- it('should see contacts details',() => {
- addContactsPage.getBtnDetailsContact().click();
- expect(dashboardPage.pageTittle.getText()).toEqual(contactsEditTittle);
- expect(addContactsPage.getTable(contactsEditEmail));
- expect(addContactsPage.getTable(time + '00'));
- });
- });
- });
- --------------------------------------------------
- edit_ticket
- 'use strict';
- const commonHelper = require('./helpers/common.helper');
- class EditTicketPage {
- constructor() {
- this.btnSaveTicket = $('[ng-click="save(ticketForm)"]');
- this.txtLocation = $('[aria-label="Location"]');
- this.txtAfe = $('[aria-label="AFE#"]');
- this.txtJobCode = $('[aria-label="Job Code"]');
- this.btnNewLine = $('[ng-click="editLineItem()"]');
- this.txtCategory = $('[aria-label="Category"]');
- this.txtSubcategory = $('[aria-label="Subcategory"]');
- this.btnSaveClose = $('[ng-click="save(lineItemForm)"]');
- this.tittle = $('[ng-show="showLineItems"] h2');
- this.txtLineNote = element(by.model('line.notes'));
- this.btnEditLine = $('[ng-click="editLineItem(li)"]');
- this.txtSelectHour = $('[placeholder="/hr"]');
- this.txtRate = element(by.model('line.usage_rate'));
- this.txtHours = element(by.model('line.units_min'));
- this.txtQuantity = element(by.model('line.units_used'));
- this.txtTotal = element(by.model('line.amount'));
- this.txtDiscount = element(by.model('line.discount'));
- this.txtMinimum = $('[name="minimum"]');
- this.txtDaysStandby = element(by.model('line.units_standby'));
- this.txtStandbyRate = element(by.model('line.standby_rate'));
- this.txtCalendarStartDate = $('[ng-model="line.start_datetime"] .md-datepicker-input');
- this.txtCalendarEndDate = $('[ng-model="line.end_datetime"] .md-datepicker-input');
- this.txtStartHour = element(by.model('data.startHour'));
- this.txtStartMinute = element(by.model('data.startMinute'));
- this.txtEndHour = element(by.model('data.endHour'));
- this.txtEndMinute = element(by.model('data.endMinute'));
- this.btnAddSignature = element(by.xpath('//div[contains(@class, "ticket-signatures")]//span[contains(.,"Add Signature")]'));
- this.btnSaveSignature = $('[aria-label="Add Signature"]');
- this.txtSigatureName = element(by.model('signature.name'));
- this.txtSignatureStyle = $('[aria-label="Select Style"]');
- this.txtSignatureEmail = element(by.model('signature.email'));
- this.txtEmailCertify = element(by.model('signature.wat'));
- this.txtFeedback = element(by.model('rating.feedback'));
- this.btnCheckboxSignature = element(by.model('agree'));
- this.SignatureBlock = $('[class^="signature-block"]');
- this.LeaveRatigCheckbox = element(by.model('enableRating'));
- this.btnAddNotes = element(by.xpath('//div[contains(@class, "ticket-notes")]//span[contains(.,"Add Note")]'));
- this.btnSaveNote = $('[ng-click="save(notesForm)"]');
- this.txtNote = element(by.model('note.notes'));
- this.btnMemberSaved = $('[aria-label="Save and Close"]');
- this.memberCheckbox = element(by.model('selected[contact.id]'));
- this.btnAddMember = $('[ng-click="showContacts()"]');
- this.btnAddAttachment = $('.ticket-attachments [ng-click^="modalUp"]');
- this.mdlNewAttachment = $('[ng-controller="TicketsAttachmentDialogController"]');
- this.attachmentInputField = $('[type="file"]');
- this.saveAttachment = $('[ng-click="save()"]');
- }
- selectHour(hour){
- browser.waitForAngular();
- commonHelper.waitUntilElementVisible(this.txtSelectHour);
- this.txtSelectHour.click();
- browser.sleep(500);
- element(by.xpath('//div[contains(@class, "md-active md-clickable")]//div[contains(.,"'+ hour +'")]')).click();
- }
- selectCategory(category){
- browser.waitForAngular();
- commonHelper.waitUntilElementVisible(this.txtCategory);
- browser.sleep(1000);
- this.txtCategory.click();
- browser.sleep(2000);
- element(by.xpath('//div[contains(@class, "md-active md-clickable")]//div[contains(.,"'+ category +'")]')).click();
- }
- selectSubCategory(category){
- browser.waitForAngular();
- commonHelper.waitUntilElementVisible(this.txtSubcategory);
- this.txtSubcategory.click();
- browser.sleep(500);
- element(by.xpath('//div[contains(@class, "md-active md-clickable")]//em[contains(.,"'+ category +'")]')).click();
- }
- getRate(section, index) {
- return element(by.xpath('//h2[text()="'+ section +'"]/..//tbody/tr['+ index +']//*[@field="usage_rate"]/span'))
- }
- getUnitsMin(section, index) {
- return element(by.xpath('//h2[text()="'+ section +'"]/..//tbody/tr['+ index +']//*[@field="units_min"]/span'))
- }
- getMin(section, index) {
- return element(by.xpath('//h2[text()="'+ section +'"]/..//tbody/tr['+ index +']//*[@field="minimum"]/span'))
- }
- getAmount(section, index) {
- return element(by.xpath('//h2[text()="'+ section +'"]/..//tbody/tr['+ index +']//*[@field="amount"]/span'))
- }
- getNote(section, index) {
- return element(by.xpath('//h2[text()="'+ section +'"]/..//tbody/tr['+ index +']//*[@ng-if="li.notes"]'))
- }
- getStandBy(section, index) {
- return element(by.xpath('//h2[text()="'+ section +'"]/..//tbody/tr['+ index +']//*[@field="standby_rate"]/span'))
- }
- getUnitStandBy(section, index) {
- return element(by.xpath('//h2[text()="'+ section +'"]/..//tbody/tr['+ index +']//*[@field="units_standby"]/span'))
- }
- getUnitUsed(section, index) {
- return element(by.xpath('//h2[text()="'+ section +'"]/..//tbody/tr['+ index +']//*[@field="units_used"]/span'))
- }
- selectSignatureCertify() {
- browser.waitForAngular();
- commonHelper.waitUntilElementVisible(this.txtEmailCertify);
- this.txtEmailCertify.click();
- browser.sleep(500);
- element(by.xpath('//*[contains(@class, "md-active md-clickable")]//div[contains(.,"This Form")]')).click();
- }
- checkboxSelected() {
- return element(by.xpath('//*[contains(@class, "md-oc-theme layout-align-start-start flex")]'));
- }
- checkboxLeaveRating() {
- return element(by.xpath('//*[contains(@class, "md-oc-theme")]'));
- }
- ratePunctuality() {
- element(by.xpath('//div[contains(@ng-show,"enableRating")]//div[contains(.,"Punctuality:")]//i[contains(.,"star")][3]')).click();
- }
- rateCompetence() {
- element(by.xpath('//div[contains(@ng-show,"enableRating")]//div[contains(.,"Competence:")]//i[contains(.,"star")][3]')).click();
- }
- rateProfessionalism() {
- element(by.xpath('//div[contains(@ng-show,"enableRating")]//div[contains(.,"Professionalism:")]//i[contains(.,"star")][3]')).click();
- }
- selectSignatureStyle() {
- browser.waitForAngular();
- commonHelper.waitUntilElementVisible(this.txtSignatureStyle);
- this.txtSignatureStyle.click();
- browser.sleep(500);
- element(by.xpath('//*[contains(@class, "signature_style_I")]//div[contains(.,"John Smith")]')).click();
- }
- notePresent(note) {
- return element(by.xpath('//div[contains(@class, "ticket-notes hide-print")]//strong[contains(.,"'+ note +'")]'));
- }
- teamMemberIsPresennt(text) {
- return element(by.xpath('//div[contains(@class, "ticket-members")]//div[contains(.,"'+ text +'")]'));
- }
- checboxIsPresent() {
- return element(by.xpath('//*[contains(@class,"md-dialog-content")]//*[contains(@class, "md-container md-ink-ripple")]'));
- }
- getStartDate(section, index) {
- return element(by.xpath('//h2[text()="'+ section +'"]/..//tbody/tr['+ index +']//*[@field="start_datetime"]/span'))
- }
- getEndDate(section, index) {
- return element(by.xpath('//h2[text()="'+ section +'"]/..//tbody/tr['+ index +']//*[@field="end_datetime"]/span'))
- }
- chkMember() {
- return $('[ng-model="selected[contact.id]"][aria-checked="true"]');
- }
- chkSignature() {
- return $('[aria-label="Consent"][aria-checked="true"]');
- }
- uploadAttachment(name) {
- commonHelper.waitUntilElementPresent(this.attachmentInputField);
- browser.executeScript('document.querySelector("[type=file]").style.display = "block"');
- var path = require('path');
- var fileToUpload = '../data/testfiles/' + name,
- absolutePath = path.resolve(__dirname, fileToUpload);
- this.attachmentInputField.sendKeys(absolutePath);
- }
- attachment(name) {
- return $('[aria-label="'+ name +'"]');
- }
- }
- module.exports = EditTicketPage;
- ----------------------------------------------------------
- data/dashboard/index
- 'use strict';
- module.exports = {
- link: browser.baseUrl + '/home/',
- title: 'Dashboard',
- companies: {
- name: 'Microsoft',
- site: 'www.microsoft.com',
- type: 'Service'
- },
- editCompanies: {
- name: 'PineApple',
- site: 'www.pineapple.com',
- type: 'Other'
- },
- contacts: {
- name: 'Gabe',
- lastName: 'Malcovich',
- tittle: 'QA',
- company: 'Chevron',
- office: 'Chevron Corporate Offices',
- email: 'gabe@mailinator.com'
- },
- editContacts: {
- name: 'Bruse',
- lastName: 'Wayne',
- tittle: 'Tester',
- company: 'Lowe',
- office: 'Corporate Office',
- email: 'bruse@mailinator.com'
- }
- };
- ------------------------------------------
- job.spec
- 'use strict';
- const pageObject = require('./../../services').container.PageObject;
- const signInPage = pageObject.getSignInPage();
- const dashboardPage = pageObject.getDashboardPage();
- const jobCodePage = pageObject.getJobCodePage();
- const addContactsPage = pageObject.getAddContactPage();
- const signInData = require('./../../data/sign_in');
- const dashboardData = require('./../../data/dashboard');
- const commonHelper = require('./../../services/helpers/common.helper');
- var strftime = require('strftime');
- describe('Jobs', () => {
- 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);
- addContactsPage.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();
- });*/
- });
- });
- -------------------------------------------------------------
- job_code.po
- 'use strict';
- class JobCodePage {
- constructor() {
- this.btnAddCode = $('[aria-label="Add Code"]');
- this.pageTittle = $('h3');
- this.txtJobCode = element(by.model('jobCode.user_job_code_no'));
- this.txtDiscription = element(by.model('jobCode.description'));
- this.txtSearchCode = element(by.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;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement