Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Functional Tests : BO - Customers - Filter and Quick Edit #33929

Merged
merged 1 commit into from
Sep 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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',
},
};