Skip to content

Commit fcf756b

Browse files
committed
Adjust e2e tests
1 parent 2c11174 commit fcf756b

File tree

2 files changed

+70
-52
lines changed

2 files changed

+70
-52
lines changed

frontend/cypress/e2e/objective-alignment.cy.ts

+69-52
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,10 @@ describe('OKR Objective Alignment e2e tests', () => {
1010
cy.getByTestId('add-objective').first().click();
1111

1212
cy.getByTestId('title').first().clear().type('Objective with new alignment');
13-
cy.get('select#alignment option:selected').should('contain.text', 'Bitte wählen');
14-
cy.get('select#alignment')
15-
.contains('K - Steigern der URS um 25%')
16-
.then(($option) => {
17-
const optionValue = $option.attr('value');
18-
cy.get('select#alignment').select(optionValue!);
19-
});
13+
cy.getByTestId('alignmentInput').first().should('have.attr', 'placeholder', 'Bezug wählen');
14+
cy.tabForwardUntil('[data-testId="alignmentInput"]');
15+
cy.realPress('ArrowDown');
16+
cy.realPress('Enter');
2017

2118
cy.getByTestId('safe').click();
2219

@@ -31,20 +28,18 @@ describe('OKR Objective Alignment e2e tests', () => {
3128
.contains('Objective bearbeiten')
3229
.click();
3330

34-
cy.get('select#alignment option:selected').should('contain.text', 'K - Steigern der URS um 25%');
31+
cy.getByTestId('alignmentInput')
32+
.first()
33+
.should('have.value', 'O - Als BBT wollen wir den Arbeitsalltag der Members von Puzzle ITC erleichtern.');
3534
});
3635

3736
it(`Update alignment of Objective`, () => {
3837
cy.getByTestId('add-objective').first().click();
3938

4039
cy.getByTestId('title').first().clear().type('We change alignment of this Objective');
41-
cy.get('select#alignment option:selected').should('contain.text', 'Bitte wählen');
42-
cy.get('select#alignment')
43-
.contains('K - Steigern der URS um 25%')
44-
.then(($option) => {
45-
const optionValue = $option.attr('value');
46-
cy.get('select#alignment').select(optionValue!);
47-
});
40+
cy.tabForwardUntil('[data-testId="alignmentInput"]');
41+
cy.realPress('ArrowDown');
42+
cy.realPress('Enter');
4843
cy.getByTestId('safe').click();
4944

5045
cy.contains('We change alignment of this Objective');
@@ -58,12 +53,11 @@ describe('OKR Objective Alignment e2e tests', () => {
5853
.contains('Objective bearbeiten')
5954
.click();
6055

61-
cy.get('select#alignment')
62-
.contains('K - Antwortzeit für Supportanfragen um 33% verkürzen.')
63-
.then(($option) => {
64-
const optionValue = $option.attr('value');
65-
cy.get('select#alignment').select(optionValue!);
66-
});
56+
cy.tabForwardUntil('[data-testId="alignmentInput"]');
57+
cy.realPress('Delete');
58+
cy.realPress('ArrowDown');
59+
cy.realPress('ArrowDown');
60+
cy.realPress('Enter');
6761
cy.getByTestId('safe').click();
6862

6963
cy.getByTestId('objective')
@@ -76,23 +70,18 @@ describe('OKR Objective Alignment e2e tests', () => {
7670
.contains('Objective bearbeiten')
7771
.click();
7872

79-
cy.get('select#alignment option:selected').should(
80-
'contain.text',
81-
'K - Antwortzeit für Supportanfragen um 33% verkürzen.',
82-
);
73+
cy.getByTestId('alignmentInput')
74+
.first()
75+
.should('have.value', 'KR - Das BBT hilft den Membern 20% mehr beim Töggelen');
8376
});
8477

8578
it(`Delete alignment of Objective`, () => {
8679
cy.getByTestId('add-objective').first().click();
8780

8881
cy.getByTestId('title').first().clear().type('We delete the alignment');
89-
cy.get('select#alignment option:selected').should('contain.text', 'Bitte wählen');
90-
cy.get('select#alignment')
91-
.contains('K - Steigern der URS um 25%')
92-
.then(($option) => {
93-
const optionValue = $option.attr('value');
94-
cy.get('select#alignment').select(optionValue!);
95-
});
82+
cy.tabForwardUntil('[data-testId="alignmentInput"]');
83+
cy.realPress('ArrowDown');
84+
cy.realPress('Enter');
9685
cy.getByTestId('safe').click();
9786

9887
cy.contains('We delete the alignment');
@@ -106,7 +95,9 @@ describe('OKR Objective Alignment e2e tests', () => {
10695
.contains('Objective bearbeiten')
10796
.click();
10897

109-
cy.get('select#alignment').select('Kein Alignment');
98+
cy.tabForwardUntil('[data-testId="alignmentInput"]');
99+
cy.realPress('Delete');
100+
cy.tabForward();
110101
cy.getByTestId('safe').click();
111102

112103
cy.getByTestId('objective')
@@ -119,42 +110,68 @@ describe('OKR Objective Alignment e2e tests', () => {
119110
.contains('Objective bearbeiten')
120111
.click();
121112

122-
cy.get('select#alignment option:selected').should('contain.text', 'Bitte wählen');
113+
cy.getByTestId('alignmentInput').first().should('have.attr', 'placeholder', 'Bezug wählen');
123114
});
124115

125-
it(`Alignment Possibilites change when quarter change`, () => {
116+
it(`Alignment Possibilities change when quarter change`, () => {
126117
cy.visit('/?quarter=1');
127118

119+
cy.get('mat-chip:visible:contains("Alle")').click();
120+
cy.get('mat-chip:visible:contains("Alle")').click();
121+
cy.get('mat-chip:visible:contains("/BBT")').click();
122+
128123
cy.getByTestId('add-objective').first().click();
129124
cy.getByTestId('title').first().clear().type('We can link later on this');
130125
cy.getByTestId('safe').click();
131126

127+
cy.get('mat-chip:visible:contains("Alle")').click();
128+
132129
cy.getByTestId('add-objective').first().click();
133130
cy.getByTestId('title').first().clear().type('There is my other alignment');
134-
cy.get('select#alignment option:selected').should('contain.text', 'Bitte wählen');
131+
cy.getByTestId('alignmentInput').first().should('have.attr', 'placeholder', 'Bezug wählen');
132+
cy.tabForwardUntil('[data-testId="alignmentInput"]');
133+
cy.realPress('ArrowDown');
134+
cy.realPress('Enter');
135135

136-
cy.get('select#alignment').select(1);
136+
cy.getByTestId('alignmentInput')
137+
.first()
138+
.invoke('val')
139+
.then((val) => {
140+
const selectValue = val;
141+
cy.getByTestId('quarterSelect').select('GJ 23/24-Q1');
142+
cy.getByTestId('title').first().clear().type('There is our other alignment');
137143

138-
cy.get('select#alignment option:selected').then(($select) => {
139-
const selectValue = $select.text();
140-
cy.getByTestId('quarterSelect').select('GJ 23/24-Q1');
141-
cy.getByTestId('title').first().clear().type('There is our other alignment');
144+
cy.tabForwardUntil('[data-testId="alignmentInput"]');
145+
cy.realPress('ArrowDown');
146+
cy.realPress('Enter');
142147

143-
cy.get('select#alignment').select(1);
148+
cy.getByTestId('alignmentInput').first().should('not.have.value', selectValue);
144149

145-
cy.get('select#alignment option:selected').should('not.contain.text', selectValue);
146-
cy.getByTestId('cancel').click();
150+
cy.getByTestId('cancel').click();
147151

148-
cy.visit('/?quarter=2');
152+
cy.visit('/?quarter=2');
149153

150-
cy.getByTestId('add-objective').first().click();
151-
cy.getByTestId('title').first().clear().type('Quarter change objective');
154+
cy.getByTestId('add-objective').first().click();
155+
cy.getByTestId('title').first().clear().type('Quarter change objective');
156+
157+
cy.get('select#quarter').select('GJ 22/23-Q4');
158+
cy.getByTestId('title').first().clear().type('A new title');
159+
cy.tabForwardUntil('[data-testId="alignmentInput"]');
160+
cy.realPress('ArrowDown');
161+
cy.realPress('Enter');
162+
163+
cy.getByTestId('alignmentInput').first().should('have.value', selectValue);
164+
});
165+
});
166+
167+
it(`Correct placeholder`, () => {
168+
cy.getByTestId('add-objective').first().click();
169+
cy.getByTestId('title').first().clear().type('This is an objective which we dont save');
170+
cy.getByTestId('alignmentInput').first().should('have.attr', 'placeholder', 'Bezug wählen');
152171

153-
cy.get('select#quarter').select('GJ 22/23-Q4');
154-
cy.getByTestId('title').first().clear().type('A new title');
155-
cy.get('select#alignment').select(1);
172+
cy.getByTestId('quarterSelect').select('GJ 23/24-Q3');
173+
cy.getByTestId('title').first().clear().type('We changed the quarter');
156174

157-
cy.get('select#alignment option:selected').should('contain.text', selectValue);
158-
});
175+
cy.getByTestId('alignmentInput').first().should('have.attr', 'placeholder', 'Kein Alignment vorhanden');
159176
});
160177
});

frontend/src/app/shared/dialog/objective-dialog/objective-form.component.html

+1
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
(this.filteredOptions$ | async)?.length == 0 ? 'Kein Alignment vorhanden' : 'Bezug wählen'
7979
}}"
8080
[matAutocomplete]="auto"
81+
[attr.data-testId]="'alignmentInput'"
8182
(input)="filter()"
8283
(focus)="filter(); input.select()"
8384
(focusout)="scrollLeft()"

0 commit comments

Comments
 (0)