Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- assets.spec
- 'use strict';
- const pageObject = require('./../../services').container.PageObject;
- const signInPage = pageObject.getSignInPage();
- const dashboardPage = pageObject.getDashboardPage();
- const assetsPage = pageObject.getAssetsPage();
- const addAssetsPage = pageObject.getAddAssetsPage();
- const jobCodePage = pageObject.getJobCodePage();
- const addSkuPage = pageObject.getAddSkuPage();
- const skuPage = pageObject.getSkuPage();
- const signInData = require('./../../data/sign_in');
- const dashboardData = require('./../../data/dashboard');
- const commonHelper = require('./../../services/helpers/common.helper');
- var strftime = require('strftime');
- describe('assets', () => {
- 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 adding new assets and edit', () => {
- var time = commonHelper.uniqueValue();
- beforeAll(() => {
- browser.get(signInData.link);
- });
- afterAll(() => {
- commonHelper.clearAllData();
- });
- it('should redirect on dashboard page after login', () => {
- signInPage.login(username, password);
- commonHelper.waitUntilElementPresent(dashboardPage.menu);
- expect(dashboardPage.pageTitle()).toEqual(dashboardData.title);
- });
- it('should click on assets in menu', () => {
- dashboardPage.openMenu('Oil Field');
- dashboardPage.clickAssets();
- expect(assetsPage.btnAddAssets.isDisplayed()).toBe(true);
- });
- it('should click on add assets', () => {
- assetsPage.clickAddAssets();
- expect(jobCodePage.btnSave.isDisplayed()).toBe(true);
- });
- it('should add assets', ()=>{
- addAssetsPage.selectCompanyAssets('My Own Company');
- addAssetsPage.fillLease('qwe');
- addAssetsPage.fillAssetName('name' + time);
- addAssetsPage.fillAssetBarrel('123');
- addAssetsPage.fillAssetsDescription('Description');
- jobCodePage.clickSave();
- });
- it('should see assets tittle', ()=> {
- expect(assetsPage.btnAddAssets.isDisplayed()).toBe(true);
- });
- it('should search assets', ()=>{
- assetsPage.fillSearch('name' + time);
- commonHelper.waitUntilElementVisible(jobCodePage.searchCode(time));
- });
- it('should edit assets', () =>{
- skuPage.clickDetails();
- addAssetsPage.selectCompanyAssets('Testware Associates home office');
- addAssetsPage.fillLease('qwe');
- addAssetsPage.fillAssetName('Brave' + time);
- addAssetsPage.fillAssetBarrel('100');
- addAssetsPage.fillAssetsDescription('test');
- });
- it('should click add increment', ()=>{
- addAssetsPage.clickAddIncrement();
- commonHelper.waitUntilElementVisible(addAssetsPage.btnShowPanel)
- });
- it('should add increment', () => {
- addAssetsPage.clickShowPanel();
- addAssetsPage.fillWhole('1');
- addAssetsPage.fillFeet('1');
- addAssetsPage.fillQuarters('1');
- addAssetsPage.clickOk();
- addAssetsPage.fillIncrements('10');
- addAssetsPage.clickSaveIncrement();
- });
- it('should see increment', ()=>{
- expect(addAssetsPage.btnAddIncrement.isPresent()).toBe(true);
- });
- it('should save changes', () =>{
- addAssetsPage.clickSaveAndClose();
- commonHelper.waitUntilElementVisible(assetsPage.btnAddAssets);
- });
- });
- describe('checking for cancel adding new assets', () => {
- var time = commonHelper.uniqueValue();
- beforeAll(() => {
- browser.get(signInData.link);
- });
- afterAll(() => {
- commonHelper.clearAllData();
- });
- it('should redirect on dashboard page after login', () => {
- signInPage.login(username, password);
- commonHelper.waitUntilElementPresent(dashboardPage.menu);
- expect(dashboardPage.pageTitle()).toEqual(dashboardData.title);
- });
- it('should click on assets in menu', () => {
- dashboardPage.openMenu('Oil Field');
- dashboardPage.clickAssets();
- expect(assetsPage.btnAddAssets.isDisplayed()).toBe(true);
- });
- it('should click on add assets', () => {
- assetsPage.clickAddAssets();
- expect(jobCodePage.btnSave.isDisplayed()).toBe(true);
- });
- it('should add assets', ()=>{
- addAssetsPage.selectCompanyAssets('My Own Company');
- addAssetsPage.fillLease('qwe');
- addAssetsPage.fillAssetName('name' + time);
- addAssetsPage.fillAssetBarrel('123');
- addAssetsPage.fillAssetsDescription('Description');
- dashboardPage.clickCancel();
- });
- it('should see assets tittle', ()=> {
- expect(assetsPage.btnAddAssets.isDisplayed()).toBe(true);
- });
- it('should search assets', ()=>{
- assetsPage.fillSearch('name' + time);
- expect(skuPage.searchOnOilFieldPage('name' + time).isPresent()).toBe(false);
- });
- });
- });
- -------------------------------------------------------------------
- assets.po
- 'use strict';
- const commonHelper = require('./../../helpers/common.helper.js');
- class AssetsPage {
- //--------------------------------------------------------------------------
- // Elements
- //--------------------------------------------------------------------------
- constructor() {
- this.btnAddAssets = $('[href="/oil_field/assets/add/"]');
- this.txtSearch = element(by.model('paginator.query.name__icontains'));
- }
- //--------------------------------------------------------------------------
- // Functions
- //-
- clickAddAssets(){
- this.btnAddAssets.click();
- }
- fillSearch(value) {
- this.txtSearch.sendKeys(value);
- this.txtSearch.sendKeys(protractor.Key.ENTER);
- browser.waitForAngular();
- }
- }
- module.exports = AssetsPage;
- -----------------------------------------------------------------
- add_assets.po
- 'use strict';
- const commonHelper = require('./../../helpers/common.helper.js');
- class AddAssetsPage {
- //--------------------------------------------------------------------------
- // Elements
- //--------------------------------------------------------------------------
- constructor() {
- this.txtAssetsCompany = element(by.model('asset.company'));
- this.txtLease = $('[aria-label="Lease"]');
- this.txtAssetName = element(by.model('asset.name'));
- this.txtAssetBarrel = element(by.model('asset.max_barrels'));
- this.txtAssetsDescription = element(by.model('asset.tank_description'));
- this.btnAddIncrement = $('[aria-label="Add Increment"]');
- this.btnShowPanel = $('[ng-click="showPanel()"]');
- this.txtFeet = element(by.model('feet'));
- this.txtWhole = element(by.model('whole'));
- this.txtQuarters = element(by.model('quarters'));
- this.btnOk = $('[aria-label="OK"]');
- this.txtIncrements = element(by.model('strappingIncrement.increments'));
- this.btnEdit = $('[aria-label="edit"]');
- this.btnSaveIncrement = $('[ng-click="save(strappingIncrementForm)"]');
- this.btnSaveAndClose = $('[aria-label="Save & Close"]')
- }
- //--------------------------------------------------------------------------
- // Functions
- //-
- clickSaveAndClose(){
- this.btnSaveAndClose.click();
- }
- clickSaveIncrement(){
- this.btnSaveIncrement.click();
- }
- fillIncrements(value){
- this.txtIncrements.clear();
- this.txtIncrements.sendKeys(value);
- }
- clickOk(){
- this.btnOk.click();
- }
- fillWhole(value){
- this.txtWhole.clear();
- this.txtWhole.sendKeys(value);
- }
- fillQuarters(value){
- this.txtQuarters.clear();
- this.txtQuarters.sendKeys(value);
- }
- fillFeet(value){
- this.txtFeet.clear();
- this.txtFeet.sendKeys(value);
- }
- clickShowPanel(){
- this.btnShowPanel.click();
- }
- clickAddIncrement(){
- this.btnAddIncrement.click();
- }
- fillAssetsDescription(value){
- this.txtAssetsDescription.clear();
- this.txtAssetsDescription.sendKeys(value);
- }
- fillAssetBarrel(value){
- this.txtAssetBarrel.clear();
- this.txtAssetBarrel.sendKeys(value);
- }
- fillAssetName(value){
- this.txtAssetName.clear();
- this.txtAssetName.sendKeys(value);
- }
- fillLease(value){
- this.txtLease.clear();
- this.txtLease.sendKeys(value);
- }
- selectCompanyAssets(type){
- browser.waitForAngular();
- commonHelper.waitUntilElementVisible(this.txtAssetsCompany);
- browser.sleep(1000);
- this.txtAssetsCompany.click();
- browser.sleep(2000);
- element(by.xpath('//div[contains(@class, "md-active")]//div[contains(.,"'+ type +'")]')).click();
- }
- }
- module.exports = AddAssetsPage;
- ---------------------------------------------------------------
- dashboard.po
- this.btnAssets = $('[href="/oil_field/assets/"]')
- clickAssets() {
- commonHelper.waitUntilElementVisible(this.btnAssets);
- this.btnAssets.click();
- }
- -----------------------------------------------
- services/index
- 'use strict';
- const bottlejs = require('bottlejs').pop('test');
- bottlejs.factory('PageObject', function (container) {
- return {
- getSignInPage: function () {
- const signInPage = require('./sign_in.po');
- return new signInPage();
- },
- getDashboardPage: function () {
- const DashboardPage = require('./dashboard.po');
- return new DashboardPage();
- },
- getTicketsPage: function () {
- const TicketsPage = require('./tickets/tickets.po.js');
- return new TicketsPage();
- },
- getEditTicketPage: function () {
- const EditTicketPage = require('./tickets/edit_ticket.po.js');
- return new EditTicketPage();
- },
- getJobCodePage: function () {
- const JobCodePage = require('./jobs/job_code.po.js');
- return new JobCodePage();
- },
- getAddCompanyPage: function () {
- const AddCompanyPage = require('./contacts/add_company.po.js');
- return new AddCompanyPage();
- },
- getAddContactPage: function () {
- const AddContactPage = require('./contacts/add_contact.po.js');
- return new AddContactPage();
- },
- getSkuPage: function () {
- const SkuPage = require('./oil_field/sku/sku.po.js');
- return new SkuPage();
- },
- getAddSkuPage: function () {
- const AddSkuPage = require('./oil_field/sku/add_sku.po.js');
- return new AddSkuPage();
- },
- getViewPage: function () {
- const ViewPage = require('./oil_field/view.po.js');
- return new ViewPage();
- },
- getWellsPage: function () {
- const WellsPage = require('./oil_field/wells/wells.po.js');
- return new WellsPage();
- },
- getAddWellsPage: function () {
- const AddWellsPage = require('./oil_field/wells/add_wells.po.js');
- return new AddWellsPage();
- },
- getContactsPage: function () {
- const ContactsPage = require('./contacts/contacts.po.js');
- return new ContactsPage();
- },
- getCategoriesPage: function () {
- const CategoriesPage = require('./oil_field/categories/categories.po.js');
- return new CategoriesPage();
- },
- getAddCategoriesPage: function () {
- const AddCategoriesPage = require('./oil_field/categories/add_category.po.js');
- return new AddCategoriesPage();
- },
- getPipelineTicketPage: function () {
- const PipelineTicketPage = require('./tickets/pipeline_ticket.po.js');
- return new PipelineTicketPage();
- },
- getAddUserPage: function () {
- const AddUserPage = require('./profile/add_user.po.js');
- return new AddUserPage();
- },
- getProfilePage: function () {
- const ProfilePage = require('./profile/profile.po.js');
- return new ProfilePage();
- },
- getAssetsPage: function () {
- const AssetsPage = require('./oil_field/assets/assets.po.js');
- return new AssetsPage();
- },
- getAddAssetsPage: function () {
- const AddAssetsPage = require('./oil_field/assets/add_assets.po.js');
- return new AddAssetsPage();
- }
- }
- });
- module.exports = bottlejs;
- ---------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement