Skip to content

Commit 1f3dc89

Browse files
committed
Adding auto break calculation tests.
1 parent 3fcdd0d commit 1f3dc89

2 files changed

Lines changed: 120 additions & 0 deletions

File tree

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
import loginPage from '../../../Login.page';
2+
import pluginPage from '../../../Plugin.page';
3+
4+
describe('Dashboard edit values', () => {
5+
beforeEach(() => {
6+
cy.visit('http://localhost:4200');
7+
loginPage.login();
8+
});
9+
10+
it('should enable auto break calculations with empty values', () => {
11+
pluginPage.Navbar.goToPluginsPage();
12+
const pluginName = 'Microting Time Planning Plugin';
13+
// pluginPage.enablePluginByName(pluginName);
14+
let row = cy.contains('.mat-mdc-row', pluginName).first();
15+
row.find('.mat-column-actions button')
16+
.should('contain.text', 'toggle_on'); // plugin is enabled
17+
row = cy.contains('.mat-mdc-row', pluginName).first();
18+
row.find('.mat-column-actions a')
19+
.should('contain.text', 'settings'); // plugin is enabled
20+
row = cy.contains('.mat-mdc-row', pluginName).first();
21+
cy.intercept('GET', '**/api/time-planning-pn/settings').as('settings-get');
22+
let settingsElement = row
23+
.find('.mat-column-actions a')
24+
// .should('be.enabled')
25+
.should('be.visible');
26+
settingsElement.click();
27+
cy.wait('@settings-get', { timeout: 60000 });
28+
// autoBreakCalculationActiveToggle-button
29+
cy.get('#autoBreakCalculationActiveToggle-button').invoke('attr', 'aria-checked').then(currentState => {
30+
cy.log('state: ' + currentState);
31+
expect(currentState).to.be.oneOf(['true', 'false']);
32+
if (currentState === 'false') {
33+
cy.log('current state is false, clicking to enable');
34+
cy.get('#autoBreakCalculationActiveToggle-button').click();
35+
}
36+
});
37+
cy.intercept('PUT', '**/api/time-planning-pn/settings').as('settings-update');
38+
cy.get('#saveSettings').click();
39+
cy.wait('@settings-update', { timeout: 60000 });
40+
cy.intercept('POST', '**/api/time-planning-pn/plannings/index').as('index-update');
41+
cy.get('mat-nested-tree-node').contains('Timeregistrering').click();
42+
cy.get('mat-tree-node').contains('Dashboard').click();
43+
cy.wait('@index-update', { timeout: 60000 });
44+
cy.get('#firstColumn0').click();
45+
cy.get('#useGoogleSheetAsDefault > div > div > input').invoke('attr', 'class').then(currentState => {
46+
cy.log('class: ' + currentState);
47+
// expect(currentState).to.be.oneOf(['true', 'false']);
48+
if (currentState !== 'mdc-checkbox__native-control mdc-checkbox--selected') {
49+
cy.log('current state is false, clicking to enable');
50+
cy.get('#useGoogleSheetAsDefault').click();
51+
}
52+
});
53+
cy.get('#autoBreakCalculationActive > div > div > input').invoke('attr', 'class').then(currentState => {
54+
cy.log('class: ' + currentState);
55+
// expect(currentState).to.be.oneOf(['true', 'false']);
56+
if (currentState !== 'mdc-checkbox__native-control mdc-checkbox--selected') {
57+
cy.log('current state is false, clicking to enable');
58+
cy.get('#autoBreakCalculationActive').click();
59+
}
60+
});
61+
cy.get('#mat-tab-group-0-label-1').click();
62+
cy.get('#mondayLoadDefaults').click();
63+
cy.get('#mondayBreakMinutesDivider').should('have.value', '03:00');
64+
cy.get('#mondayBreakMinutesPrDivider').should('have.value', '00:30');
65+
cy.get('#mondayBreakMinutesUpperLimit').should('have.value', '01:00');
66+
cy.get('#tuesdayLoadDefaults').click();
67+
cy.get('#tuesdayBreakMinutesDivider').should('have.value', '03:00');
68+
cy.get('#tuesdayBreakMinutesPrDivider').should('have.value', '00:30');
69+
cy.get('#tuesdayBreakMinutesUpperLimit').should('have.value', '01:00');
70+
cy.get('#wednesdayLoadDefaults').click();
71+
cy.get('#wednesdayBreakMinutesDivider').should('have.value', '03:00');
72+
cy.get('#wednesdayBreakMinutesPrDivider').should('have.value', '00:30');
73+
cy.get('#wednesdayBreakMinutesUpperLimit').should('have.value', '01:00');
74+
cy.get('#thursdayLoadDefaults').click();
75+
cy.get('#thursdayBreakMinutesDivider').should('have.value', '03:00');
76+
cy.get('#thursdayBreakMinutesPrDivider').should('have.value', '00:30');
77+
cy.get('#thursdayBreakMinutesUpperLimit').should('have.value', '01:00');
78+
cy.get('#fridayLoadDefaults').click();
79+
cy.get('#fridayBreakMinutesDivider').should('have.value', '03:00');
80+
cy.get('#fridayBreakMinutesPrDivider').should('have.value', '00:30');
81+
cy.get('#fridayBreakMinutesUpperLimit').should('have.value', '01:00');
82+
cy.get('#saturdayLoadDefaults').click();
83+
cy.get('#saturdayBreakMinutesDivider').should('have.value', '02:00');
84+
cy.get('#saturdayBreakMinutesPrDivider').should('have.value', '00:30');
85+
cy.get('#saturdayBreakMinutesUpperLimit').should('have.value', '01:00');
86+
cy.get('#sundayLoadDefaults').click();
87+
cy.get('#sundayBreakMinutesDivider').should('have.value', '02:00');
88+
cy.get('#sundayBreakMinutesPrDivider').should('have.value', '00:30');
89+
cy.get('#sundayBreakMinutesUpperLimit').should('have.value', '01:00');
90+
cy.intercept('PUT', '**/api/time-planning-pn/settings/assigned-site').as('assigned-site-update');
91+
cy.get('#saveButton').click();
92+
cy.wait('@assigned-site-update', { timeout: 60000 });
93+
cy.intercept('GET', '**/api/time-planning-pn/settings/assigned-sites?*').as('assigned-site-get');
94+
cy.get('#firstColumn0').click();
95+
cy.wait('@assigned-site-get', { timeout: 60000 });
96+
cy.get('#mat-tab-group-1-label-1').click();
97+
cy.get('#mondayBreakMinutesDivider').should('have.value', '03:00');
98+
cy.get('#mondayBreakMinutesPrDivider').should('have.value', '00:30');
99+
cy.get('#mondayBreakMinutesUpperLimit').should('have.value', '01:00');
100+
cy.get('#tuesdayBreakMinutesDivider').should('have.value', '03:00');
101+
cy.get('#tuesdayBreakMinutesPrDivider').should('have.value', '00:30');
102+
cy.get('#tuesdayBreakMinutesUpperLimit').should('have.value', '01:00');
103+
cy.get('#wednesdayBreakMinutesDivider').should('have.value', '03:00');
104+
cy.get('#wednesdayBreakMinutesPrDivider').should('have.value', '00:30');
105+
cy.get('#wednesdayBreakMinutesUpperLimit').should('have.value', '01:00');
106+
cy.get('#thursdayBreakMinutesDivider').should('have.value', '03:00');
107+
cy.get('#thursdayBreakMinutesPrDivider').should('have.value', '00:30');
108+
cy.get('#thursdayBreakMinutesUpperLimit').should('have.value', '01:00');
109+
cy.get('#fridayBreakMinutesDivider').should('have.value', '03:00');
110+
cy.get('#fridayBreakMinutesPrDivider').should('have.value', '00:30');
111+
cy.get('#fridayBreakMinutesUpperLimit').should('have.value', '01:00');
112+
cy.get('#saturdayBreakMinutesDivider').should('have.value', '02:00');
113+
cy.get('#saturdayBreakMinutesPrDivider').should('have.value', '00:30');
114+
cy.get('#saturdayBreakMinutesUpperLimit').should('have.value', '01:00');
115+
cy.get('#sundayBreakMinutesDivider').should('have.value', '02:00');
116+
cy.get('#sundayBreakMinutesPrDivider').should('have.value', '00:30');
117+
cy.get('#sundayBreakMinutesUpperLimit').should('have.value', '01:00');
118+
});
119+
});

eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/assigned-site/assigned-site-dialog.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@
175175
></ngx-material-timepicker>
176176
<div class="pt-4">
177177
<button
178+
[id]="day.toLowerCase() + 'LoadDefaults'"
178179
mat-icon-button
179180
(click)="copyBreakSettings(day.toLowerCase())"
180181
color="warn">

0 commit comments

Comments
 (0)