Guest User

spec

a guest
Aug 28th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var pageObject        = require('./../../services/pages').container.PageObject;
  2. var abstractPage      = pageObject.getAbstractPage();
  3. var registerPage      = pageObject.getRegisterPage();
  4. var userDashboardPage = pageObject.getUserDashboardPage();
  5. var userInboxPage     = pageObject.getUserInboxPage();
  6. var userSettingsPage  = pageObject.getUserSettingsPage();
  7. var userUpgradePage   = pageObject.getUserUpgradePage();
  8. var loginPage         = pageObject.getLoginPage();
  9. var staffPage         = pageObject.getStaffPage();
  10. var userData          = require('../../data/user/index.js');
  11. var commonHelper      = require('./../../helpers/common.helper.js');
  12. var mailHelper        = require('./../../helpers/mail.helper.js');
  13.  
  14. describe('DASHBOARD TESTS', function () {
  15.  
  16.     var registerLink = userData.pageLinks.registerLink;
  17.     var email        = 'qa.ddi.mail+'+ commonHelper.randomString(5)+'@gmail.com';
  18.     var newEmail     = 'qa.ddi.mail+'+ commonHelper.randomString(6)+'@gmail.com';
  19.     var newUrlEmail  = 'qa.ddi.mail+'+ commonHelper.randomString(4)+'@gmail.com';
  20.     var password     = 'registertest';
  21.     var newPassword  = 'newPassword';
  22.     var userName     = 'User'+ commonHelper.randomString(3);
  23.     var emailSubj    = 'US Delivered: Email confirmation';
  24.     var staffEmail   = 'admin@admin.com';
  25.     var staffPass    = '123';
  26.  
  27.     var cardNum      = userData.userCard.cardNum;
  28.     var cardholder   = userData.userCard.cardholder;
  29.     var cardExpDate  = userData.userCard.cardExpDate;
  30.     var cardCcv      = userData.userCard.cardCcv;
  31.     var cardAddress  = userData.userCard.cardAddress;
  32.     var cardCountry  = userData.userCard.cardCountry;
  33.     var cardCity     = userData.userCard.cardCity;
  34.     var cardState    = userData.userCard.cardState;
  35.     var cardZip      = userData.userCard.cardZip;
  36.  
  37.     var recipient    = userData.userAddress.recipient;
  38.     var address      = userData.userAddress.address;
  39.     var country      = userData.userAddress.country;
  40.     var city         = userData.userAddress.city;
  41.     var state        = userData.userAddress.state;
  42.     var postal       = userData.userAddress.postal;
  43.     var phone        = userData.userAddress.phone;
  44.  
  45.     var trackingId   = commonHelper.randomString(5);
  46.  
  47.     var itmLength    = commonHelper.randomNumber(3);
  48.     var itmWidth     = commonHelper.randomNumber(3);
  49.     var itmHeight    = commonHelper.randomNumber(3);
  50.     var itmWeight    = commonHelper.randomNumber(2);
  51.     var itmType      = '6';
  52.  
  53.     beforeAll(function () {
  54.         browser.get(registerLink);
  55.         registerPage.register(email, password);
  56.         global.userBox = userSettingsPage.getUserBox();
  57.     });
  58.  
  59.     afterAll(function () {
  60.         commonHelper.clearAllData();
  61.     });
  62.  
  63.  
  64.     describe("Login Details > Change email via code", function () {
  65.  
  66.         it('should open USER SETTINGS > LOGIN DETAILS', function () {
  67.             userSettingsPage.openLoginDetails();
  68.             expect((userSettingsPage.btnChangeEmail).isDisplayed()).toBeTruthy();
  69.         });
  70.  
  71.         it('should CHANGE USER EMAIL', function () {
  72.             mailHelper.mailListenerStart(emailSubj);
  73.  
  74.             userSettingsPage.changeEmailViaCode(newEmail, password);
  75.             commonHelper.waitUntilElementVisible(userDashboardPage.alertSuccess);
  76.             expect(userDashboardPage.alertSuccess.isDisplayed()).toBeTruthy();
  77.  
  78.             commonHelper.waitUntilElementVisible(userSettingsPage.rawCurrentEmail);
  79.             expect(userSettingsPage.rawCurrentEmail.getText()).toEqual(newEmail);
  80.         });
  81.     });
  82.  
  83.     describe("Login Details > Change email via URL", function () {
  84.  
  85.         it('should open USER SETTINGS > LOGIN DETAILS', function () {
  86.             userSettingsPage.openLoginDetails();
  87.             expect((userSettingsPage.btnChangeEmail).isDisplayed()).toBeTruthy();
  88.         });
  89.  
  90.         it('should CHANGE USER EMAIL', function () {
  91.             mailHelper.mailListenerStart(emailSubj);
  92.  
  93.             userSettingsPage.changeEmailViaURL(newUrlEmail, password);
  94.             commonHelper.waitUntilElementVisible(userDashboardPage.alertSuccess);
  95.             expect(userDashboardPage.alertSuccess.isDisplayed()).toBeTruthy();
  96.  
  97.             userSettingsPage.openLoginDetails();
  98.             commonHelper.waitUntilElementVisible(userSettingsPage.rawCurrentEmail);
  99.             expect(userSettingsPage.rawCurrentEmail.getText()).toEqual(newUrlEmail);
  100.         });
  101.     });
  102.  
  103.     describe("Login Details > Change password", function () {
  104.         it('should open USER SETTINGS > LOGIN DETAILS', function () {
  105.             userSettingsPage.openLoginDetails();
  106.             expect((userSettingsPage.btnChangeEmail).isDisplayed()).toBeTruthy();
  107.         });
  108.  
  109.         it('should CHANGE USER PASSWORD', function () {
  110.             userSettingsPage.changePassword(password, newPassword);
  111.  
  112.             commonHelper.waitUntilElementVisible(userDashboardPage.alertSuccess);
  113.             expect(userDashboardPage.alertSuccess.isDisplayed()).toBeTruthy();
  114.         });
  115.     });
  116.  
  117.     describe("Login Details > Change Full Name", function () {
  118.         it('should open USER SETTINGS > LOGIN DETAILS', function () {
  119.             userSettingsPage.openLoginDetails();
  120.             expect((userSettingsPage.btnChangeEmail).isDisplayed()).toBeTruthy();
  121.         });
  122.  
  123.         it('should CHANGE FULL NAME', function () {
  124.             userSettingsPage.changeFullName(userName);
  125.  
  126.             commonHelper.waitUntilElementVisible(userDashboardPage.alertSuccess);
  127.             expect(userDashboardPage.alertSuccess.isDisplayed()).toBeTruthy();
  128.             expect(abstractPage.usrMenu.getText()).toEqual(userName.toUpperCase());
  129.         });
  130.     });
  131.  
  132.     describe("Billing Details > New Credit Card", function () {
  133.         it('should open USER SETTINGS > BILLING DETAILS', function () {
  134.             userSettingsPage.openBillingDetails();
  135.             expect((userSettingsPage.btnNewCrediCard).isDisplayed()).toBeTruthy();
  136.         });
  137.  
  138.         it('should ADD CREDIT CARD', function () {
  139.             userSettingsPage.addCreditCard(cardNum, cardholder, cardExpDate, cardCcv, cardAddress, cardCountry, cardCity, cardState, cardZip);
  140.  
  141.             commonHelper.waitUntilElementVisible(userDashboardPage.alertSuccess);
  142.             expect(userDashboardPage.alertSuccess.isDisplayed()).toBeTruthy();
  143.  
  144.             commonHelper.waitUntilElementVisible(userSettingsPage.rawLastFour);
  145.             expect(userSettingsPage.rawLastFour.getText()).toEqual(userSettingsPage.getLastFour(cardNum));
  146.         });
  147.     });
  148.  
  149.     describe("Manage Address Book > Add Address", function () {
  150.         it('should open USER SETTINGS > MANAGE ADDRESS BOOK', function () {
  151.             userSettingsPage.openManageAddressBook();
  152.             expect((userSettingsPage.btnAddAddress).isDisplayed()).toBeTruthy();
  153.         });
  154.  
  155.         it('should ADD ADDRESS', function () {
  156.             userSettingsPage.addAddress(recipient, address, country, city, state, postal, phone);
  157.  
  158.             commonHelper.waitUntilElementVisible(userDashboardPage.alertSuccess);
  159.             expect(userDashboardPage.alertSuccess.isDisplayed()).toBeTruthy();
  160.         });
  161.     });
  162.  
  163.     describe("Upgrade User Plan", function () {
  164.         it('should open UPGRADE menu', function () {
  165.             userDashboardPage.openUpgrade();
  166.             commonHelper.waitUntilElementVisible(userUpgradePage.btnUpgradeNow );
  167.         });
  168.  
  169.         it('should Upgrade User Plan to Premium', function () {
  170.             userUpgradePage.upgradePlan();
  171.             expect(userDashboardPage.alertSuccess.isDisplayed()).toBeTruthy();
  172.         });
  173.  
  174.         it('should open USER SETTINGS > ACCOUNT DETAILS', function () {
  175.             userSettingsPage.openAccountDetails();
  176.             expect(userSettingsPage.rowCurrentMembership.isDisplayed()).toBeTruthy();
  177.         });
  178.  
  179.         it('should display Premium submission on Account Details', function () {
  180.             expect(userSettingsPage.rowCurrentMembership.getText()).toEqual('Monthly Subscription');
  181.         });
  182.     });
  183.  
  184.     describe("Adding Incoming Package", function () {
  185.         it('should open INBOX > INCOMING ', function () {
  186.             userDashboardPage.openInbox();
  187.             commonHelper.waitUntilElementVisible(userInboxPage.tabIncoming);
  188.  
  189.             userInboxPage.openIncoming();
  190.             expect(userInboxPage.btnAddIncomingPackage.isDisplayed()).toBeTruthy();
  191.         });
  192.  
  193.         it('should add new Incoming Package', function () {
  194.             userInboxPage.addIncomingPackage(trackingId);
  195.  
  196.             commonHelper.waitUntilElementInvisible(userInboxPage.txtTrackingId);
  197.             commonHelper.waitUntilElementVisible(userInboxPage.rowOrderId);
  198.             expect(userInboxPage.rowOrderId.getText()).toEqual('Order # ' + trackingId);
  199.         });
  200.  
  201.         it('should Log out', function () {
  202.             abstractPage.logout();
  203.         });
  204.     });
  205.  
  206.     describe("Adding Inbox Item", function () {
  207.         it('should SIGN IN as STAFF', function () {
  208.             abstractPage.clickLogIn();
  209.             commonHelper.waitUntilElementVisible(loginPage.frmSignIn);
  210.  
  211.             loginPage.login(staffEmail, staffPass);
  212.             expect((abstractPage.usrMenu).isDisplayed()).toBeTruthy();
  213.         });
  214.  
  215.         it('should open Staff Page', function () {
  216.             browser.get(browser.baseUrl + '/warehouse/admin/item/add/');
  217.  
  218.             commonHelper.waitUntilElementVisible(staffPage.txtBox);
  219.             expect((staffPage.txtBox).isDisplayed()).toBeTruthy();
  220.         });
  221.  
  222.         it('should Add Inbox Item', function () {
  223.             commonHelper.waitUntilElementVisible(staffPage.rowId);
  224.             global.itemId = staffPage.lastId();
  225.  
  226.             staffPage.addItem(userBox, itmType, itmWeight, itmLength, itmWidth, itmHeight);
  227.  
  228.             abstractPage.logoutLive();
  229.         });
  230.  
  231.         it('should see Added Item in user Inbox', function () {
  232.             abstractPage.clickLogIn();
  233.             commonHelper.waitUntilElementVisible(loginPage.frmSignIn);
  234.  
  235.             //Commented before email notification will be work
  236.             loginPage.login(newUrlEmail, newPassword);
  237.             // loginPage.login(email, newPassword);
  238.  
  239.             commonHelper.waitUntilElementVisible(abstractPage.usrMenu);
  240.             expect((abstractPage.usrMenu).isDisplayed()).toBeTruthy();
  241.  
  242.             userDashboardPage.openInbox();
  243.             commonHelper.waitUntilElementVisible(userInboxPage.tabArrived);
  244.  
  245.             expect(userInboxPage.getArrivedItemId()).toEqual(itemId);
  246.         });
  247.     });
  248.  
  249.     // Not finished yet
  250.     //
  251.     // describe("Shipment Request Creation", function () {
  252.     //     it('should open Item Details', function () {
  253.     //         userInboxPage.openItemDetails(itemId);
  254.     //
  255.     //         commonHelper.waitUntilElementVisible(userDashboardPage.btnShip);
  256.     //         expect(userInboxPage.btnShip.isDisplayed()).toBeTruthy();
  257.     //
  258.     //     });
  259.     //
  260.     //     it('should open Shipment Wizard', function () {
  261.     //         userInboxPage.openShipmentWizard();
  262.     //
  263.     //         commonHelper.waitUntilElementVisible(userInboxPage.txtItemDescr);
  264.     //         expect(userInboxPage.txtItemDescr.isDisplayed()).toBeTruthy();
  265.     //     });
  266.     //
  267.     //     it('should fill Declare Item Step', function () {
  268.     //         userInboxPage.firstWizardStep(itmDescr, itmValue, itmQuantity, insurance, extraService);
  269.     //
  270.     //         commonHelper.waitUntilElementVisible(userInboxPage.selDestinationAddr);
  271.     //         expect(userInboxPage.selDestinationAddr.isDisplayed()).toBeTruthy();
  272.     //     });
  273.     //
  274.     //     it('should fill Delect Destination Step', function () {
  275.     //         userInboxPage.secondWizardStepAddAddr(recipient, address, country, city, state, postal, phone);
  276.     //
  277.     //         commonHelper.waitUntilElementVisible(userInboxPage.btnSelectShipper);
  278.     //         expect(userInboxPage.btnSelectShipper.isDisplayed()).toBeTruthy();
  279.     //     });
  280.     //
  281.     //     it('should fill Select Shipper Step', function () {
  282.     //         userInboxPage.thirdWizardStep(shipper);
  283.     //
  284.     //         commonHelper.waitUntilElementVisible(userInboxPage.selShipDate);
  285.     //         expect(userInboxPage.selShipDate.isDisplayed()).toBeTruthy();
  286.     //     });
  287.     //
  288.     //     it('should fill Shipment Details Step', function () {
  289.     //         userInboxPage.fillFourthStep(shipDate, shipService, shipPhone, shipInstruction);
  290.     //
  291.     //         commonHelper.waitUntilElementVisible(userInboxPage.btnViewShipmentDetails);
  292.     //         expect(userInboxPage.btnViewShipmentDetails.isDisplayed()).toBeTruthy();
  293.     //     })
  294.     // });
  295. });
Add Comment
Please, Sign In to add comment