Skip to content

Commit

Permalink
Functional Tests : BO - Customers - Filter and Quick Edit
Browse files Browse the repository at this point in the history
  • Loading branch information
Progi1984 committed Sep 13, 2023
1 parent 77ffff5 commit 3794983
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,19 +54,19 @@ describe('BO - Customers - Customers : Filter and quick edit Customers table', a
await customersPage.closeSfToolBar(page);

const pageTitle = await customersPage.getPageTitle(page);
await expect(pageTitle).to.contains(customersPage.pageTitle);
expect(pageTitle).to.contains(customersPage.pageTitle);
});

it('should reset all filters and get number of customers in BO', async function () {
await testContext.addContextItem(this, 'testIdentifier', 'resetFirst', baseContext);

numberOfCustomers = await customersPage.resetAndGetNumberOfLines(page);
await expect(numberOfCustomers).to.be.above(0);
expect(numberOfCustomers).to.be.above(0);
});

// 1 : Filter Customers with all inputs and selects in grid table
describe('Filter customers table', async () => {
const tests = [
[
{
args:
{
Expand Down Expand Up @@ -139,9 +139,7 @@ describe('BO - Customers - Customers : Filter and quick edit Customers table', a
filterValue: '0',
},
},
];

tests.forEach((test) => {
].forEach((test) => {
it(`should filter by ${test.args.filterBy} '${test.args.filterValue}'`, async function () {
await testContext.addContextItem(this, 'testIdentifier', `${test.args.testIdentifier}`, baseContext);

Expand All @@ -160,26 +158,25 @@ describe('BO - Customers - Customers : Filter and quick edit Customers table', a
);
}
const numberOfCustomersAfterFilter = await customersPage.getNumberOfElementInGrid(page);

await expect(numberOfCustomersAfterFilter).to.be.at.most(numberOfCustomers);
expect(numberOfCustomersAfterFilter).to.be.at.most(numberOfCustomers);

for (let i = 1; i <= numberOfCustomersAfterFilter; i++) {
switch (test.args.filterBy) {
case 'active': {
const customerStatus = await customersPage.getCustomerStatus(page, i);
await expect(customerStatus).to.equal(test.args.filterValue === '1');
expect(customerStatus).to.equals(test.args.filterValue === '1');
break;
}

case 'newsletter': {
const newsletterStatus = await customersPage.getNewsletterStatus(page, i);
await expect(newsletterStatus).to.equal(test.args.filterValue === '1');
expect(newsletterStatus).to.equals(test.args.filterValue === '1');
break;
}

case 'optin': {
const partnerOffersStatus = await customersPage.getPartnerOffersStatus(page, i);
await expect(partnerOffersStatus).to.equal(test.args.filterValue === '1');
expect(partnerOffersStatus).to.equals(test.args.filterValue === '1');
break;
}

Expand All @@ -189,7 +186,7 @@ describe('BO - Customers - Customers : Filter and quick edit Customers table', a
i,
test.args.filterBy,
);
await expect(textColumn).to.contains(test.args.filterValue);
expect(textColumn).to.contains(test.args.filterValue);
break;
}
}
Expand All @@ -200,7 +197,7 @@ describe('BO - Customers - Customers : Filter and quick edit Customers table', a
await testContext.addContextItem(this, 'testIdentifier', `${test.args.testIdentifier}Reset`, baseContext);

const numberOfCustomersAfterReset = await customersPage.resetAndGetNumberOfLines(page);
await expect(numberOfCustomersAfterReset).to.equal(numberOfCustomers);
expect(numberOfCustomersAfterReset).to.equals(numberOfCustomers);
});
});

Expand All @@ -214,15 +211,15 @@ describe('BO - Customers - Customers : Filter and quick edit Customers table', a

for (let i = 1; i <= numberOfCustomersAfterFilter; i++) {
const textColumn = await customersPage.getTextColumnFromTableCustomers(page, i, 'date_add');
await expect(textColumn).to.contains(today);
expect(textColumn).to.contains(today);
}
});

it('should reset all filters', async function () {
await testContext.addContextItem(this, 'testIdentifier', 'resetFilter', baseContext);

const numberOfCustomersAfterReset = await customersPage.resetAndGetNumberOfLines(page);
await expect(numberOfCustomersAfterReset).to.equal(numberOfCustomers);
expect(numberOfCustomersAfterReset).to.equal(numberOfCustomers);
});
});

Expand All @@ -239,7 +236,7 @@ describe('BO - Customers - Customers : Filter and quick edit Customers table', a
);

const numberOfCustomersAfterFilter = await customersPage.getNumberOfElementInGrid(page);
await expect(numberOfCustomersAfterFilter).to.be.at.above(0);
expect(numberOfCustomersAfterFilter).to.be.at.above(0);
});

describe('Quick edit customer status', async () => {
Expand All @@ -253,11 +250,11 @@ describe('BO - Customers - Customers : Filter and quick edit Customers table', a
const resultMessage = await customersPage.setCustomerStatus(page, 1, test.args.value);

if (resultMessage) {
await expect(resultMessage).to.contains(customersPage.successfulUpdateStatusMessage);
expect(resultMessage).to.contains(customersPage.successfulUpdateStatusMessage);
}

const customerStatus = await customersPage.getCustomerStatus(page, 1);
await expect(customerStatus).to.be.equal(test.args.value);
expect(customerStatus).to.equals(test.args.value);
});
});
});
Expand All @@ -273,11 +270,11 @@ describe('BO - Customers - Customers : Filter and quick edit Customers table', a
const resultMessage = await customersPage.setNewsletterStatus(page, 1, test.args.value);

if (resultMessage) {
await expect(resultMessage).to.contains(customersPage.successfulUpdateStatusMessage);
expect(resultMessage).to.contains(customersPage.successfulUpdateStatusMessage);
}

const customerStatus = await customersPage.getNewsletterStatus(page, 1);
await expect(customerStatus).to.be.equal(test.args.value);
expect(customerStatus).to.equals(test.args.value);
});
});
});
Expand All @@ -293,11 +290,11 @@ describe('BO - Customers - Customers : Filter and quick edit Customers table', a
const resultMessage = await customersPage.setPartnerOffersStatus(page, 1, test.args.value);

if (resultMessage) {
await expect(resultMessage).to.contains(customersPage.successfulUpdateStatusMessage);
expect(resultMessage).to.contains(customersPage.successfulUpdateStatusMessage);
}

const customerStatus = await customersPage.getPartnerOffersStatus(page, 1);
await expect(customerStatus).to.be.equal(test.args.value);
expect(customerStatus).to.be.equal(test.args.value);
});
});
});
Expand Down
3 changes: 2 additions & 1 deletion tests/UI/data/demo/customers.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import SocialTitles from '@data/demo/socialTitles';
import CustomerData from '@data/faker/customer';

export default {
johnDoe: new CustomerData({
id: 2,
socialTitle: 'Mr.',
socialTitle: SocialTitles.Mr.name,
firstName: 'John',
lastName: 'DOE',
birthDate: new Date('1970-01-15'),
Expand Down
10 changes: 10 additions & 0 deletions tests/UI/data/demo/socialTitles.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
export default {
Mr: {
id: 1,
name: 'Mr.',
},
Mrs: {
id: 2,
name: 'Mrs',
},
};

0 comments on commit 3794983

Please sign in to comment.