Skip to content

Commit e8922f8

Browse files
authored
feat: e2e regression tests added to repo. (and some loadtests) (#1703)
1 parent e55a56c commit e8922f8

28 files changed

+9070
-0
lines changed

Diff for: tests/cypress.config.js

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
const { defineConfig } = require("cypress");
2+
3+
module.exports = defineConfig({
4+
video: true,
5+
e2e: {
6+
setupNodeEvents(on, config) {
7+
// implement node event listeners here
8+
},
9+
baseUrl: 'https://onroutebc-test-frontend.apps.silver.devops.gov.bc.ca',
10+
env: {
11+
idir_username: '',
12+
idir_password: '',
13+
bceid_username: '',
14+
bceid_password: '',
15+
update_term_oversize_url: 'https://onroutebc-test-frontend.apps.silver.devops.gov.bc.ca/applications/581',
16+
new_tros_url: 'https://onroutebc-test-frontend.apps.silver.devops.gov.bc.ca/create-application/TROS',
17+
new_trow_url: 'https://onroutebc-test-frontend.apps.silver.devops.gov.bc.ca/create-application/TROW',
18+
new_power_unit_url: 'https://onroutebc-test-frontend.apps.silver.devops.gov.bc.ca/manage-vehicles/add-powerunit',
19+
update_power_unit_url: 'https://onroutebc-test-frontend.apps.silver.devops.gov.bc.ca/manage-vehicles/power-units/106',
20+
manage_vehicle_url: 'https://onroutebc-test-frontend.apps.silver.devops.gov.bc.ca/manage-vehicles',
21+
new_trailer_url: 'https://onroutebc-test-frontend.apps.silver.devops.gov.bc.ca/manage-vehicles/add-trailer',
22+
update_trailer_url: 'https://onroutebc-test-frontend.apps.silver.devops.gov.bc.ca/manage-vehicles/trailers/106',
23+
},
24+
},
25+
});

Diff for: tests/cypress/e2e/bceid-crud-power-units.cy.js

+111
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
describe('Crud for power unit', () => {
2+
it('Should create, update or delete a power unit', () => {
3+
// Retrieve the environment variables
4+
const username = Cypress.env('bceid_username');
5+
const password = Cypress.env('bceid_password');
6+
const new_power_unit_url = '/manage-vehicles/add-powerunit';
7+
const update_power_unit_url = Cypress.env('update_power_unit_url');
8+
const manage_vehicle_url = '/manage-vehicles';
9+
10+
// Step 1: Visit the base URL
11+
cy.visit('/');
12+
13+
// Step 2: Find and click the login button by its idir
14+
cy.get('#login-bceid').click();
15+
cy.wait(5000);
16+
17+
// Step 3: Enter credentials
18+
cy.get('#user').type(username);
19+
cy.get('#password').type(password);
20+
cy.wait(5000);
21+
22+
// Step 4: Submit the login form
23+
cy.get('[name="btnSubmit"]').click();
24+
cy.wait(5000);
25+
26+
cy.visit(new_power_unit_url);
27+
cy.wait(5000);
28+
29+
// create new power unit
30+
// cy.get('[name="unitNumber"]').type('MCL37');
31+
// cy.wait(5000);
32+
33+
cy.get('[name="make"]').type('Toyota');
34+
cy.wait(5000);
35+
36+
cy.get('[name="year"]').type('2002');
37+
cy.wait(5000);
38+
39+
cy.get('[name="vin"]').type('MCL37A');
40+
cy.wait(5000);
41+
42+
cy.get('[name="plate"]').type('VB0007');
43+
cy.wait(5000);
44+
45+
cy.get('[id="mui-component-select-powerUnitTypeCode"]').click({ force: true });
46+
cy.wait(5000);
47+
48+
cy.get('[data-value="BUSCRUM"]').click();
49+
cy.wait(5000);
50+
51+
cy.get('[id="mui-component-select-countryCode"]').scrollIntoView().click();
52+
cy.wait(5000);
53+
54+
cy.get('[data-value="CA"]').click();
55+
cy.wait(5000);
56+
57+
cy.get('[id="mui-component-select-provinceCode"]').click();
58+
cy.wait(5000);
59+
60+
cy.get('[data-value="AB"]').click();
61+
cy.wait(5000);
62+
63+
cy.get('[name="licensedGvw"]').type('2000');
64+
cy.wait(5000);
65+
66+
cy.get('.css-xie432').click();
67+
cy.wait(5000);
68+
69+
// update power unit
70+
cy.visit(manage_vehicle_url);
71+
cy.wait(5000);
72+
73+
cy.get('.css-15mydm5').first().scrollIntoView().wait(3000).click({ force: true });
74+
cy.wait(5000);
75+
76+
cy.xpath("//li[text()='Edit']").click();
77+
cy.wait(5000);
78+
79+
cy.get('[name="make"]').clear().type('Toyota');
80+
cy.wait(5000);
81+
82+
cy.get('[name="year"]').clear().type('2021');
83+
cy.wait(5000);
84+
85+
cy.get('[name="licensedGvw"]').clear().type('3000');
86+
cy.wait(5000);
87+
88+
cy.get('.css-xie432').click();
89+
cy.wait(5000);
90+
91+
// delete power unit
92+
cy.visit(manage_vehicle_url);
93+
cy.wait(5000);
94+
95+
cy.xpath("(//input[@type='checkbox'])[2]")
96+
.then(($checkbox) => {
97+
if (!$checkbox.prop('checked')) { // Check if it's not selected
98+
cy.wrap($checkbox).click(); // Select it if not already checked
99+
}
100+
});
101+
cy.wait(5000);
102+
103+
cy.get('.delete-btn--active').click();
104+
cy.wait(5000);
105+
106+
cy.get('.css-1a53fri').click();
107+
cy.wait(5000);
108+
109+
});
110+
});
111+

Diff for: tests/cypress/e2e/bceid-crud-trailers.cy.js

+115
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
describe('Crud for trailer', () => {
2+
it('Should create, update or delete a trailer', () => {
3+
// Retrieve the environment variables
4+
const username = Cypress.env('bceid_username');
5+
const password = Cypress.env('bceid_password');
6+
const new_trailer_url = '/manage-vehicles/add-trailer';
7+
const update_trailer_url = Cypress.env('update_trailer_url');
8+
const manage_vehicle_url = '/manage-vehicles';
9+
10+
// Step 1: Visit the base URL
11+
cy.visit('/');
12+
13+
// Step 2: Find and click the login button by its idir
14+
cy.get('#login-bceid').click();
15+
cy.wait(5000);
16+
17+
// Step 3: Enter credentials
18+
cy.get('#user').type(username);
19+
cy.get('#password').type(password);
20+
cy.wait(5000);
21+
22+
// Step 4: Submit the login form
23+
cy.get('[name="btnSubmit"]').click();
24+
cy.wait(5000);
25+
26+
cy.visit(new_trailer_url);
27+
cy.wait(5000);
28+
29+
// create new trailer
30+
// cy.get('[name="unitNumber"]').type('TCL37');
31+
// cy.wait(5000);
32+
33+
cy.get('[name="make"]').type('NISSAN');
34+
cy.wait(5000);
35+
36+
cy.get('[name="year"]').type('2005');
37+
cy.wait(5000);
38+
39+
cy.get('[name="vin"]').type('TCL37A');
40+
cy.wait(5000);
41+
42+
cy.get('[name="plate"]').type('VT0007');
43+
cy.wait(5000);
44+
45+
cy.get('[id="mui-component-select-trailerTypeCode"]').click({ force: true });
46+
cy.wait(5000);
47+
48+
cy.get('[data-value="BOOSTER"]').click();
49+
cy.wait(5000);
50+
51+
cy.get('[id="mui-component-select-countryCode"]').scrollIntoView().click();
52+
cy.wait(5000);
53+
54+
cy.get('[data-value="CA"]').click();
55+
cy.wait(5000);
56+
57+
cy.get('[id="mui-component-select-provinceCode"]').click();
58+
cy.wait(5000);
59+
60+
cy.get('[data-value="BC"]').click();
61+
cy.wait(5000);
62+
63+
cy.get('.css-xie432').click();
64+
cy.wait(5000);
65+
66+
// update power unit
67+
cy.visit(manage_vehicle_url);
68+
cy.wait(5000);
69+
70+
cy.get('.tab__label').contains('Trailer').click();
71+
cy.wait(5000);
72+
73+
cy.get('.css-15mydm5').first().scrollIntoView().wait(3000).click({ force: true });
74+
cy.wait(5000);
75+
76+
cy.xpath("//li[text()='Edit']").click();
77+
cy.wait(5000);
78+
79+
cy.get('[name="make"]').clear().type('BMW');
80+
cy.wait(5000);
81+
82+
// cy.get('[name="unitNumber"]').clear().type('TCL37');
83+
// cy.wait(5000);
84+
85+
cy.get('[name="year"]').clear().type('2021');
86+
cy.wait(5000);
87+
88+
cy.get('.css-xie432').click();
89+
cy.wait(5000);
90+
91+
92+
// delete trailer
93+
cy.visit(manage_vehicle_url);
94+
cy.wait(5000);
95+
96+
cy.get('.tab__label').contains('Trailer').click();
97+
cy.wait(5000);
98+
99+
cy.xpath("(//input[@type='checkbox'])[2]")
100+
.then(($checkbox) => {
101+
if (!$checkbox.prop('checked')) { // Check if it's not selected
102+
cy.wrap($checkbox).click(); // Select it if not already checked
103+
}
104+
});
105+
cy.wait(5000);
106+
107+
cy.get('.delete-btn--active').click();
108+
cy.wait(5000);
109+
110+
cy.get('.css-1a53fri').click();
111+
cy.wait(5000);
112+
113+
});
114+
});
115+

Diff for: tests/cypress/e2e/bceid-new-term-oversize.cy.js

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
describe('Login Test for OnRouteBC', () => {
2+
it('Should navigate to the login page, find the login button, and enter credentials', () => {
3+
// Retrieve the environment variables
4+
const username = Cypress.env('bceid_username');
5+
const password = Cypress.env('bceid_password');
6+
const new_tros_url = '/create-application/TROS';
7+
8+
// Step 1: Visit the base URL
9+
cy.visit('/');
10+
11+
// Step 2: Find and click the login button by its idir
12+
cy.get('#login-bceid').click();
13+
cy.wait(5000);
14+
15+
// Step 3: Enter credentials
16+
cy.get('#user').type(username);
17+
cy.get('#password').type(password);
18+
cy.wait(5000);
19+
20+
// Step 4: Submit the login form
21+
cy.get('[name="btnSubmit"]').click();
22+
cy.wait(5000);
23+
24+
cy.visit(new_tros_url);
25+
cy.wait(5000);
26+
27+
// fill out the form
28+
cy.get('#application-select-vehicle').type('MCL36');
29+
cy.wait(5000);
30+
31+
cy.get('[name="permitData.vehicleDetails.vin"]').click({ force: true }).type('MCL36A');
32+
cy.wait(5000);
33+
34+
cy.get('[name="permitData.vehicleDetails.plate"]').type('L4NDO');
35+
cy.wait(5000);
36+
37+
cy.get('[name="permitData.vehicleDetails.make"]').type('BMW');
38+
cy.wait(5000);
39+
40+
cy.get('[name="permitData.vehicleDetails.year"]').type('2020');
41+
cy.wait(5000);
42+
43+
cy.get('[id="mui-component-select-permitData.vehicleDetails.countryCode"]').scrollIntoView().click();
44+
cy.wait(5000);
45+
46+
cy.get('[data-value="CA"]').click();
47+
cy.wait(5000);
48+
49+
cy.get('[id="mui-component-select-permitData.vehicleDetails.provinceCode"]').click();
50+
cy.wait(5000);
51+
52+
cy.get('[data-value="BC"]').click();
53+
cy.wait(5000);
54+
55+
cy.get('[id="mui-component-select-permitData.vehicleDetails.vehicleType"]').click(({ force: true }));
56+
cy.wait(5000);
57+
58+
cy.get('[data-value="powerUnit"]').click();
59+
cy.wait(5000);
60+
61+
cy.get('[id="mui-component-select-permitData.vehicleDetails.vehicleSubType"]').click({ force: true });
62+
cy.wait(5000);
63+
64+
cy.get('[data-value="REGTRCK"]').click();
65+
cy.wait(5000);
66+
67+
cy.get('[data-testid="continue-application-button"]').click({ force: true });
68+
cy.wait(5000);
69+
70+
cy.get('input[type="checkbox"]').each(($checkbox) => {
71+
cy.wrap($checkbox).click({ force: true });
72+
});
73+
cy.wait(5000);
74+
75+
cy.get('[data-testid="add-to-cart-btn"]').click({force: true});
76+
cy.wait(5000);
77+
78+
cy.get('.shopping-cart-button').click({force: true});
79+
cy.wait(5000);
80+
81+
cy.get('[data-testid="pay-now-btn"]').scrollIntoView().click({force: true});
82+
cy.wait(5000);
83+
84+
});
85+
});

0 commit comments

Comments
 (0)