Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { expect } from 'chai';
- import TestData from 'src/data/TestData';
- import AddNewCandidatePage from 'src/pages/AddNewCandidatePage';
- // import AddNewPage from 'src/pages/AddNewPage';
- import CandidateDetailsPage from 'src/pages/CandidateDetailsPage';
- import DashboardPage from 'src/pages/DashboardPage';
- import LoginPage from 'src/pages/LoginPage';
- import NavBarPage from 'src/pages/NavBarPage';
- import { config } from '../src/config/index';
- // import PrideExcel from '../src/utils/PrideExcel';
- import PrideJson from '../src/utils/PrideJson';
- import AddNewPage from 'src/pages/AddNewPage';
- import assert from 'assert';
- const Q = require('q');
- const xlSx = require('node-xlsx');
- const objWbInfo = PrideJson.readConfigValue('candidate');
- const getExcelData = function(fileName) {
- const deferred = Q.defer();
- // turn into async call
- const xlsObject = xlSx.parse(fileName);
- deferred.resolve(xlsObject);
- return deferred.promise;
- };
- //const objCandidate = PrideExcel.convertExcelToJson(objWbInfo);
- let objCandidate = TestData.TC_0002;
- //console.log('***********************CANDIDATE NAME INFO***********************');
- //const candidateFullName = `${objCandidate.firstName}' '${objCandidate.firstLastName} `;
- //console.log('**********************FINISHED EXECUTING BEFORE FUNCTION.********************************');
- describe('Add new candidate page.', () => {
- LoginPage.open;
- it('Verify the presence of dashboard', () => {
- LoginPage.loginWithCredentials(config.username);
- expect(DashboardPage.pageTitle.getText()).to.equal('Dashboard');
- });
- it('Read data from excel and populate json object with candidate information', () => {
- let loop = Q();
- return getExcelData(objWbInfo.fileName).then((data) => {
- data[0].data.forEach((d) => {
- loop = loop.then(() => {
- if (parseInt(d[0]) === objWbInfo.nextKey) {
- objCandidate = AddNewCandidatePage.updateCandidateInfo(objCandidate, d);
- }
- // Read the row data (Column A or d[0] = first name, Column B or d[1] = last name)
- //return loopTest(driver, d[0], d[1]);
- });
- });
- // return last so mocha knows all records are finished.
- });
- });
- it('Add new Candidate', () => {
- NavBarPage.clickNew();
- AddNewPage.clickCandidate();
- AddNewCandidatePage.addNewCandidate(objCandidate);
- try {
- expect(CandidateDetailsPage.getCandidateFullName(objCandidate)).to.equal(`${objCandidate.firstName} ${objCandidate.lastName}`);
- PrideJson.writeConfigValue('candidate');
- } catch (err) {
- console.log(`Exception: ${err}`);
- assert.fail();
- }
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement