Skip to content

Commit bc60bb2

Browse files
committed
update
1 parent 23ee808 commit bc60bb2

File tree

4 files changed

+179
-34
lines changed

4 files changed

+179
-34
lines changed
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
import { validation } from '../validation.js';
2+
3+
const route = {
4+
id: '#section-configswatches',
5+
url: 'system_config/edit/section/configswatches',
6+
h3: 'Configurable Swatches',
7+
validate: {
8+
dimension: {
9+
_input: {
10+
productDetail: {
11+
height: '#configswatches_product_detail_dimensions_height',
12+
width: '#configswatches_product_detail_dimensions_width',
13+
},
14+
productList: {
15+
height: '#configswatches_product_listing_dimensions_height',
16+
width: '#configswatches_product_listing_dimensions_width',
17+
},
18+
layeredNav: {
19+
height: '#configswatches_layered_nav_dimensions_height',
20+
width: '#configswatches_layered_nav_dimensions_width',
21+
},
22+
}
23+
}
24+
}
25+
}
26+
27+
describe('Checks admin system configswatches settings', () => {
28+
beforeEach('Log in the user', () => {
29+
cy.visit('/admin');
30+
cy.adminLogInValidUser();
31+
cy.adminGetConfiguration(route);
32+
});
33+
34+
it(`tests non-digit dimensions`, () => {
35+
cy
36+
.get(route.validate.dimension._input.productDetail.height)
37+
.clear({ force: true })
38+
.type(validation.assert.float, { force: true })
39+
.should('have.value', validation.assert.float);
40+
41+
cy
42+
.get(route.validate.dimension._input.productDetail.width)
43+
.clear({ force: true })
44+
.type(validation.assert.float, { force: true })
45+
.should('have.value', validation.assert.float);
46+
47+
cy
48+
.get(route.validate.dimension._input.productList.height)
49+
.clear({ force: true })
50+
.type(validation.assert.float, { force: true })
51+
.should('have.value', validation.assert.float);
52+
53+
cy
54+
.get(route.validate.dimension._input.productList.width)
55+
.clear({ force: true })
56+
.type(validation.assert.float, { force: true })
57+
.should('have.value', validation.assert.float);
58+
59+
cy
60+
.get(route.validate.dimension._input.layeredNav.height)
61+
.clear({ force: true })
62+
.type(validation.assert.float, { force: true })
63+
.should('have.value', validation.assert.float);
64+
65+
cy
66+
.get(route.validate.dimension._input.layeredNav.width)
67+
.clear({ force: true })
68+
.type(validation.assert.float, { force: true })
69+
.should('have.value', validation.assert.float);
70+
71+
72+
cy.log('Clicking on Save Config button');
73+
cy.get('.form-buttons button[title="Save Config"]').click({force: true, multiple: true});
74+
75+
console.log('Checking for error messages');
76+
cy.get('#advice-validate-digits-configswatches_product_detail_dimensions_height').should('include.text', validation.errors.digits);
77+
cy.get('#advice-validate-digits-configswatches_product_detail_dimensions_width').should('include.text', validation.errors.digits);
78+
cy.get('#advice-validate-digits-configswatches_product_listing_dimensions_height').should('include.text', validation.errors.digits);
79+
cy.get('#advice-validate-digits-configswatches_product_listing_dimensions_width').should('include.text', validation.errors.digits);
80+
cy.get('#advice-validate-digits-configswatches_layered_nav_dimensions_height').should('include.text', validation.errors.digits);
81+
cy.get('#advice-validate-digits-configswatches_layered_nav_dimensions_width').should('include.text', validation.errors.digits);
82+
});
83+
84+
it(`tests empty dimensions`, () => {
85+
cy
86+
.get(route.validate.dimension._input.productDetail.height)
87+
.clear({ force: true })
88+
.should('have.value', '');
89+
90+
cy
91+
.get(route.validate.dimension._input.productDetail.width)
92+
.clear({ force: true })
93+
.should('have.value', '');
94+
95+
cy
96+
.get(route.validate.dimension._input.productList.height)
97+
.clear({ force: true })
98+
.should('have.value', '');
99+
100+
cy
101+
.get(route.validate.dimension._input.productList.width)
102+
.clear({ force: true })
103+
.should('have.value', '');
104+
105+
cy
106+
.get(route.validate.dimension._input.layeredNav.height)
107+
.clear({ force: true })
108+
.should('have.value', '');
109+
110+
cy
111+
.get(route.validate.dimension._input.layeredNav.width)
112+
.clear({ force: true })
113+
.should('have.value', '');
114+
115+
cy.log('Clicking on Save Config button');
116+
cy.get('.form-buttons button[title="Save Config"]').click({force: true, multiple: true});
117+
118+
console.log('Checking for error messages');
119+
cy.get('#advice-required-entry-configswatches_product_detail_dimensions_height').should('include.text', validation.errors.requiredEntry);
120+
cy.get('#advice-required-entry-configswatches_product_detail_dimensions_width').should('include.text', validation.errors.requiredEntry);
121+
cy.get('#advice-required-entry-configswatches_product_listing_dimensions_height').should('include.text', validation.errors.requiredEntry);
122+
cy.get('#advice-required-entry-configswatches_product_listing_dimensions_width').should('include.text', validation.errors.requiredEntry);
123+
cy.get('#advice-required-entry-configswatches_layered_nav_dimensions_height').should('include.text', validation.errors.requiredEntry);
124+
cy.get('#advice-required-entry-configswatches_layered_nav_dimensions_width').should('include.text', validation.errors.requiredEntry);
125+
});
126+
});
Lines changed: 38 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
1+
import { validation } from '../validation.js';
2+
13
const route = {
24
id: '#section-sitemap',
35
url: 'system_config/edit/section/sitemap',
46
h3: 'Google Sitemap',
57
validate: {
68
priority: {
7-
invalidString: 'string',
8-
invalidNumber: '666',
9-
valid: '1',
9+
_input: {
10+
category: '#sitemap_category_priority',
11+
product: '#sitemap_product_priority',
12+
page: '#sitemap_page_priority',
13+
}
1014
}
1115
}
1216
}
1317

14-
describe('Checks admin system sitmap settings', () => {
18+
describe('Checks admin system sitemap settings', () => {
1519
beforeEach('Log in the user', () => {
1620
cy.visit('/admin');
1721
cy.adminLogInValidUser();
@@ -20,76 +24,76 @@ describe('Checks admin system sitmap settings', () => {
2024

2125
it(`tests invalid string priority`, () => {
2226
cy
23-
.get('#sitemap_category_priority')
27+
.get(route.validate.priority._input.category)
2428
.clear({ force: true })
25-
.type(route.validate.priority.invalidString)
26-
.should('have.value', route.validate.priority.invalidString);
29+
.type(validation.assert.string, { force: true })
30+
.should('have.value', validation.assert.string);
2731
cy
28-
.get('#sitemap_product_priority')
32+
.get(route.validate.priority._input.product)
2933
.clear({ force: true })
30-
.type(route.validate.priority.invalidString)
31-
.should('have.value', route.validate.priority.invalidString);
34+
.type(validation.assert.string, { force: true })
35+
.should('have.value', validation.assert.string);
3236
cy
33-
.get('#sitemap_page_priority')
37+
.get(route.validate.priority._input.page)
3438
.clear({ force: true })
35-
.type(route.validate.priority.invalidString)
36-
.should('have.value', route.validate.priority.invalidString);
39+
.type(validation.assert.string, { force: true })
40+
.should('have.value', validation.assert.string);
3741

3842
cy.log('Clicking on Save Config button');
3943
cy.get('.form-buttons button[title="Save Config"]').click({force: true, multiple: true});
4044

4145
console.log('Checking for error messages');
42-
cy.get('#advice-validate-number-sitemap_category_priority').should('include.text', 'Please enter a valid number in this field.');
43-
cy.get('#advice-validate-number-sitemap_product_priority').should('include.text', 'Please enter a valid number in this field.');
44-
cy.get('#advice-validate-number-sitemap_page_priority').should('include.text', 'Please enter a valid number in this field.');
46+
cy.get('#advice-validate-number-sitemap_category_priority').should('include.text', validation.errors.number);
47+
cy.get('#advice-validate-number-sitemap_product_priority').should('include.text', validation.errors.number);
48+
cy.get('#advice-validate-number-sitemap_page_priority').should('include.text', validation.errors.number);
4549
});
4650

4751
it(`tests invalid number priority`, () => {
4852
cy
49-
.get('#sitemap_category_priority')
53+
.get(route.validate.priority._input.category)
5054
.clear({ force: true })
51-
.type(route.validate.priority.invalidNumber)
52-
.should('have.value', route.validate.priority.invalidNumber);
55+
.type(validation.assert.numberGreater1, { force: true })
56+
.should('have.value', validation.assert.numberGreater1);
5357
cy
54-
.get('#sitemap_product_priority')
58+
.get(route.validate.priority._input.product)
5559
.clear({ force: true })
56-
.type(route.validate.priority.invalidNumber)
57-
.should('have.value', route.validate.priority.invalidNumber);
60+
.type(validation.assert.numberGreater1, { force: true })
61+
.should('have.value', validation.assert.numberGreater1);
5862
cy
59-
.get('#sitemap_page_priority')
63+
.get(route.validate.priority._input.page)
6064
.clear({ force: true })
61-
.type(route.validate.priority.invalidNumber)
62-
.should('have.value', route.validate.priority.invalidNumber);
65+
.type(validation.assert.numberGreater1, { force: true })
66+
.should('have.value', validation.assert.numberGreater1);
6367

6468
cy.log('Clicking on Save Config button');
6569
cy.get('.form-buttons button[title="Save Config"]').click({force: true, multiple: true});
6670

6771
console.log('Checking for error messages');
68-
cy.get('#advice-validate-number-range-sitemap_category_priority').should('include.text', 'The value is not within the specified range.');
69-
cy.get('#advice-validate-number-range-sitemap_product_priority').should('include.text', 'The value is not within the specified range.');
70-
cy.get('#advice-validate-number-range-sitemap_page_priority').should('include.text', 'The value is not within the specified range.');
72+
cy.get('#advice-validate-number-range-sitemap_category_priority').should('include.text', validation.errors.numberRange);
73+
cy.get('#advice-validate-number-range-sitemap_product_priority').should('include.text', validation.errors.numberRange);
74+
cy.get('#advice-validate-number-range-sitemap_page_priority').should('include.text', validation.errors.numberRange);
7175
});
7276

7377
it(`tests empty priority`, () => {
7478
cy
75-
.get('#sitemap_category_priority')
79+
.get(route.validate.priority._input.category)
7680
.clear({ force: true })
7781
.should('have.value', '');
7882
cy
79-
.get('#sitemap_product_priority')
83+
.get(route.validate.priority._input.product)
8084
.clear({ force: true })
8185
.should('have.value', '');
8286
cy
83-
.get('#sitemap_page_priority')
87+
.get(route.validate.priority._input.page)
8488
.clear({ force: true })
8589
.should('have.value', '');
8690

8791
cy.log('Clicking on Save Config button');
8892
cy.get('.form-buttons button[title="Save Config"]').click({force: true, multiple: true});
8993

9094
console.log('Checking for error messages');
91-
cy.get('#advice-required-entry-sitemap_category_priority').should('include.text', 'This is a required field.');
92-
cy.get('#advice-required-entry-sitemap_product_priority').should('include.text', 'This is a required field.');
93-
cy.get('#advice-required-entry-sitemap_page_priority').should('include.text', 'This is a required field.');
95+
cy.get('#advice-required-entry-sitemap_category_priority').should('include.text', validation.errors.requiredEntry);
96+
cy.get('#advice-required-entry-sitemap_product_priority').should('include.text', validation.errors.requiredEntry);
97+
cy.get('#advice-required-entry-sitemap_page_priority').should('include.text', validation.errors.requiredEntry);
9498
});
9599
});
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
export const validation = {
2+
assert: {
3+
float: '1.1',
4+
number: '1',
5+
numberGreater1: '666',
6+
string: 'string',
7+
},
8+
errors: {
9+
digits: 'Please use numbers only in this field. Please avoid spaces or other characters such as dots or commas.',
10+
number: 'Please enter a valid number in this field.',
11+
numberRange: 'The value is not within the specified range.',
12+
requiredEntry: 'This is a required field.',
13+
}
14+
}

cypress/support/commands.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Cypress.Commands.add('adminLogInValidUser', () => {
1919
cy.get('#username').clear().type(credentials.Admin.login).should('have.value', credentials.Admin.login);
2020
cy.get('#login').clear().type(credentials.Admin.password).should('have.value', credentials.Admin.password);
2121
cy.get('.form-button').click();
22+
cy.url().should('include', '/dashboard/index');
2223
})
2324

2425
Cypress.Commands.add('adminLogInInvalidUser', () => {

0 commit comments

Comments
 (0)