Skip to content

Commit 3e0e5e4

Browse files
#448 - test: attempt to make the tests less flaky
1 parent c066089 commit 3e0e5e4

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

backend/src/openarchiefbeheer/destruction/tests/e2e/features/test_feature_list_edit.py

+2
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,12 @@ def create_data():
9090
username="record_manager", password="ANic3Password", post__can_start_destruction=True
9191
)
9292
destruction_list = DestructionListFactory.create(
93+
name="Destruction list to filter",
9394
assignee=record_manager,
9495
author=record_manager,
9596
uuid="00000000-0000-0000-0000-000000000000",
9697
status=ListStatus.new
98+
9799
)
98100
zaak1 = ZaakFactory.create(
99101
identificatie="ZAAK-000-1",

backend/src/openarchiefbeheer/destruction/tests/e2e/issues/test_446_confirm_remove_exclusion.py

+7
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
class Issue446ConfirmRemoveExclusion(GherkinLikeTestCase):
1212
async def test_scenario_user_approves_and_deselects_single_item(self):
1313
async with browser_page() as page:
14+
await self.given.zaak_selection_api_is_empty()
1415
zaken = await self.given.zaken_are_indexed(3)
1516
reviewer = await self.given.reviewer_exists()
1617

@@ -38,6 +39,7 @@ async def test_scenario_user_approves_and_deselects_single_item(self):
3839

3940
async def test_scenario_user_approves_and_deselects_all_items_individually(self):
4041
async with browser_page() as page:
42+
await self.given.zaak_selection_api_is_empty()
4143
zaken = await self.given.zaken_are_indexed(3)
4244
reviewer = await self.given.reviewer_exists()
4345

@@ -83,6 +85,7 @@ async def test_scenario_user_approves_and_deselects_all_items_individually(self)
8385

8486
async def test_scenario_user_excludes_and_deselects_single_item(self):
8587
async with browser_page() as page:
88+
await self.given.zaak_selection_api_is_empty()
8689
zaken = await self.given.zaken_are_indexed(3)
8790
reviewer = await self.given.reviewer_exists()
8891

@@ -118,6 +121,7 @@ async def test_scenario_user_excludes_and_deselects_single_item(self):
118121

119122
async def test_scenario_user_excludes_and_keeps_single_item(self):
120123
async with browser_page() as page:
124+
await self.given.zaak_selection_api_is_empty()
121125
zaken = await self.given.zaken_are_indexed(3)
122126
reviewer = await self.given.reviewer_exists()
123127

@@ -153,6 +157,7 @@ async def test_scenario_user_excludes_and_keeps_single_item(self):
153157

154158
async def test_scenario_user_approves_and_deselects_all_items_in_batch(self):
155159
async with browser_page() as page:
160+
await self.given.zaak_selection_api_is_empty()
156161
zaken = await self.given.zaken_are_indexed(3)
157162
reviewer = await self.given.reviewer_exists()
158163

@@ -181,6 +186,7 @@ async def test_scenario_user_approves_and_deselects_all_items_in_batch(self):
181186

182187
async def test_scenario_user_approves_items_hybrid(self):
183188
async with browser_page() as page:
189+
await self.given.zaak_selection_api_is_empty()
184190
zaken = await self.given.zaken_are_indexed(3)
185191
reviewer = await self.given.reviewer_exists()
186192

@@ -211,6 +217,7 @@ async def test_scenario_user_approves_items_hybrid(self):
211217

212218
async def test_scenario_user_approves_and_deselect_unexcluded_items_in_batch(self):
213219
async with browser_page() as page:
220+
await self.given.zaak_selection_api_is_empty()
214221
zaken = await self.given.zaken_are_indexed(3)
215222
reviewer = await self.given.reviewer_exists()
216223

backend/src/openarchiefbeheer/utils/tests/gherkin.py

+10-6
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
DestructionListItemReviewFactory,
1414
DestructionListReviewFactory,
1515
)
16+
from openarchiefbeheer.selection.models import AllSelectedToggle, SelectionItem
1617
from openarchiefbeheer.utils.tests.e2e import PlaywrightTestCase
1718
from openarchiefbeheer.zaken.tests.factories import ZaakFactory
1819

@@ -247,6 +248,10 @@ async def handle(route):
247248
async def zaken_are_indexed(self, amount, **kwargs):
248249
return await self._get_or_create_batch(ZaakFactory, amount, **kwargs)
249250

251+
async def zaak_selection_api_is_empty(self):
252+
await SelectionItem.objects.all().adelete()
253+
await AllSelectedToggle.objects.all().adelete()
254+
250255
@sync_to_async
251256
def _orm_get(self, model, **kwargs):
252257
return model.objects.get(**kwargs)
@@ -363,11 +368,8 @@ async def archivist_logs_in(self, page, **kwargs):
363368
)
364369

365370
async def _user_logs_in(self, page, username, password="ANic3Password"):
366-
await page.goto(self.testcase.live_server_url)
367-
await page.wait_for_url(
368-
f"{self.testcase.live_server_url}/login?next=/destruction-lists"
369-
)
370-
371+
await self.user_logs_out(page)
372+
await page.goto(f"{self.testcase.live_server_url}/login")
371373
await page.get_by_label("Gebruikersnaam").fill(username)
372374
await page.get_by_label("Wachtwoord").fill(password)
373375
await page.get_by_role("button", name="Inloggen").click()
@@ -525,7 +527,9 @@ async def zaak_should_be_selected(
525527
locator = page.get_by_role("row", name=identificatie).get_by_label(
526528
template.format(identificatie=identificatie)
527529
)
528-
await expect(locator).to_be_checked()
530+
await expect(locator).to_be_checked(
531+
timeout=10000
532+
) # Attempt to fix flakiness?
529533

530534
async def zaak_should_not_be_selected(
531535
self, page, identificatie, template="(de)selecteer rij"

0 commit comments

Comments
 (0)