Skip to content

Commit 3887a90

Browse files
committed
update
1 parent fa65ee7 commit 3887a90

File tree

7 files changed

+84
-81
lines changed

7 files changed

+84
-81
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
describe('Check admin login', () => {
2+
beforeEach('Log in the user', () => {
3+
cy.visit('/admin');
4+
});
5+
6+
const login = cy.openmage.login.admin
7+
8+
it('tests valid login', () => {
9+
const username = login.username.value;
10+
const password = login.password.value;
11+
12+
cy.log(`Logging in as ${username}`);
13+
cy.get(login.username._id).clear().type(username).should('have.value', username);
14+
cy.get(login.password._id).clear().type(password).should('have.value', password);
15+
cy.get(login._submit.__selector).click();
16+
})
17+
18+
it('tests invalid login', () => {
19+
const username = 'abc';
20+
const password = '123';
21+
22+
cy.log(`Logging in as ${username}`);
23+
cy.get(login.username._id).clear().type(username).should('have.value', username);
24+
cy.get(login.password._id).clear().type(password).should('have.value', password);
25+
cy.get(login._submit.__selector).click();
26+
})
27+
28+
it('tests empty login', () => {
29+
cy.get(login.username._id).clear().should('have.value', '');
30+
cy.get(login.password._id).clear().should('have.value', '');
31+
cy.get(login._submit.__selector).click();
32+
})
33+
})

cypress/e2e/paths/backend/system/config/catalog/configswatches.cy.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ const validate = {
2020

2121
describe(`Checks admin system "${route.h3}" settings`, () => {
2222
beforeEach('Log in the user', () => {
23-
cy.visit('/admin');
2423
cy.adminLogInValidUser();
2524
cy.adminGetConfiguration(route);
2625
});
Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
const route = cy.testRoutes.backend.system.config.catalog.sitemap;
2-
const assert = cy.openmage.validation.assert;
2+
const saveButton = cy.testRoutes.backend.system.config._buttonSave
3+
const validation = cy.openmage.validation;
34

45
describe(`Checks admin system "${route.h3}" settings`, () => {
56
beforeEach('Log in the user', () => {
@@ -8,23 +9,20 @@ describe(`Checks admin system "${route.h3}" settings`, () => {
89
});
910

1011
it(`tests invalid string priority`, () => {
11-
const validate = cy.openmage.validation.number;
12-
cy.openmage.validation.fillFields(route.__validation.priority._input, validate, assert.string);
13-
cy.openmage.validation.saveAction(route._buttonSave);
14-
cy.openmage.validation.validateFields(route.__validation.priority._input, validate);
12+
validation.fillFields(route.__validation.priority._input, validation.number, validation.assert.string);
13+
validation.saveAction(saveButton);
14+
validation.validateFields(route.__validation.priority._input, validation.number);
1515
});
1616

1717
it(`tests invalid number priority`, () => {
18-
const validate = cy.openmage.validation.numberRange;
19-
cy.openmage.validation.fillFields(route.__validation.priority._input, validate, assert.numberGreater1);
20-
cy.openmage.validation.saveAction(route._buttonSave);
21-
cy.openmage.validation.validateFields(route.__validation.priority._input, validate);
18+
validation.fillFields(route.__validation.priority._input, validation.numberRange, validation.assert.numberGreater1);
19+
validation.saveAction(saveButton);
20+
validation.validateFields(route.__validation.priority._input, validation.numberRange);
2221
});
2322

2423
it(`tests empty priority`, () => {
25-
const validate = cy.openmage.validation.requiredEntry;
26-
cy.openmage.validation.fillFields(route.__validation.priority._input, validate);
27-
cy.openmage.validation.saveAction(route._buttonSave);
28-
cy.openmage.validation.validateFields(route.__validation.priority._input, validate);
24+
validation.fillFields(route.__validation.priority._input, validation.requiredEntry);
25+
validation.saveAction(saveButton);
26+
validation.validateFields(route.__validation.priority._input, validation.requiredEntry);
2927
});
3028
});
Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
11
const route = cy.testRoutes.backend.system.config.customers.promo;
2-
const validate = {
3-
_group: {
4-
couponCodes: {
5-
_id: '#promo_auto_generated_coupon_codes-head',
6-
_input: {
7-
length: '#promo_auto_generated_coupon_codes_length',
8-
dashes: '#promo_auto_generated_coupon_codes_dash',
9-
}
10-
}
11-
}
12-
}
2+
const saveButton = cy.testRoutes.backend.system.config._buttonSave
3+
const validation = cy.openmage.validation;
134

145
describe(`Checks admin system "${route.h3}" settings`, () => {
156
beforeEach('Log in the user', () => {
@@ -18,31 +9,17 @@ describe(`Checks admin system "${route.h3}" settings`, () => {
189
});
1910

2011
it(`tests invalid string input`, () => {
12+
const fieldset = route.__validation.__groups.couponCodes;
2113
cy.get('body').then($body => {
22-
if (!$body.find(validate._group.couponCodes._id).hasClass('open')) {
23-
cy.get(validate._group.couponCodes._id).click({force: true});
14+
if (!$body.find(fieldset._id).hasClass('open')) {
15+
cy.get(fieldset._id).click({force: true});
2416
}
2517
});
2618

27-
Object.keys(validate._group.couponCodes._input).forEach(field => {
28-
const selector = validate._group.couponCodes._input[field];
29-
const value = validation.assert.string;
30-
31-
cy
32-
.get(selector)
33-
.clear({ force: true })
34-
.type(value, { force: true })
35-
.should('have.value', value)
36-
.should('have.class', validation.digits.css);
37-
});
38-
39-
cy.adminSaveConfiguration();
40-
41-
cy.log('Checking for error messages');
42-
const error = validation.digits.error;
43-
Object.keys(validate._group.couponCodes._input).forEach(field => {
44-
const selector = validation.digits._error + validate._group.couponCodes._input[field].replace(/^\#/, "");
45-
cy.get(selector).should('include.text', error);
46-
});
19+
const fields = fieldset._input;
20+
const validate = validation.digits;
21+
validation.fillFields(fields, validate, validation.assert.string);
22+
validation.saveAction(saveButton);
23+
validation.validateFields(fields, validate);
4724
});
4825
});

cypress/support/commands.js

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,6 @@
1-
const credentials = {
2-
Admin: {
3-
login: 'admin',
4-
password: 'veryl0ngpassw0rd',
5-
},
6-
NoAdmin: {
7-
login: 'user',
8-
password: 'password'
9-
}
10-
};
11-
12-
Cypress.Commands.add('adminLogInUser', (credential) => {
13-
cy.get('#username').clear().type(credential.login).should('have.value', credential.login);
14-
cy.get('#login').clear().type(credential.password).should('have.value', credential.password);
15-
cy.get('.form-button').click();
16-
})
17-
18-
Cypress.Commands.add('adminLogInValidUser', () => {
19-
const username = credentials.Admin.login;
20-
const password = credentials.Admin.password;
1+
Cypress.Commands.add('adminLogIn', () => {
2+
const username = cy.openmage.credentials.admin.login;
3+
const password = cy.openmage.credentials.admin.password;
214

225
cy.visit('/admin');
236

@@ -30,16 +13,6 @@ Cypress.Commands.add('adminLogInValidUser', () => {
3013
cy.url().should('include', '/dashboard/index');
3114
})
3215

33-
Cypress.Commands.add('adminLogInInvalidUser', () => {
34-
const username = credentials.NoAdmin.login;
35-
const password = credentials.NoAdmin.password;
36-
37-
cy.log(`Logging in as ${username}`);
38-
cy.get('#username').clear().type(username).should('have.value', username);
39-
cy.get('#login').clear().type(password).should('have.value', password);
40-
cy.get('.form-button').click();
41-
})
42-
4316
Cypress.Commands.add('adminGoToTestRoute', (route) => {
4417
cy.get('body').then($body => {
4518
const popup = '#message-popup-window .message-popup-head a';

cypress/support/openmage.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,19 @@
11
cy.openmage = {
2+
login: {
3+
admin: {
4+
username: {
5+
_id: '#username',
6+
value: 'admin',
7+
},
8+
password: {
9+
_id: '#login',
10+
value: 'veryl0ngpassw0rd',
11+
},
12+
_submit: {
13+
__selector: '.form-button',
14+
}
15+
}
16+
},
217
tools: {
318
generateRandomEmail: () => {
419
const chars = 'abcdefghijklmnopqrstuvwxyz0123456789';

cypress/support/openmage/config/paths.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ cy.testRoutes = {
248248
_h3: adminPage._h3,
249249
},
250250
config: {
251+
_buttonSave: '.form-buttons button[title="Save Config"]',
251252
catalog: {
252253
configswatches: {
253254
_id: '#section-configswatches',
@@ -277,13 +278,20 @@ cy.testRoutes = {
277278
url: 'system_config/edit/section/promo',
278279
h3: 'Promotions',
279280
_h3: adminPage._h3,
281+
__validation: {
282+
__groups: {
283+
couponCodes: {
284+
_id: '#promo_auto_generated_coupon_codes-head',
285+
_input: {
286+
length: '#promo_auto_generated_coupon_codes_length',
287+
dashes: '#promo_auto_generated_coupon_codes_dash',
288+
}
289+
}
290+
}
291+
}
280292
},
281293
},
282294
}
283295
}
284296
}
285297
}
286-
287-
export const paths = {
288-
289-
}

0 commit comments

Comments
 (0)