Skip to content

Commit b4a32bd

Browse files
Merge pull request #4948 from open-formulieren/fix/removing-test-flakyness
Reducing test flakiness
2 parents f796f25 + 6ad0ea7 commit b4a32bd

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

src/openforms/config/tests/factories.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class Meta:
1717

1818

1919
class MapTileLayerFactory(factory.django.DjangoModelFactory):
20-
identifier = factory.Faker("word")
20+
identifier = factory.Sequence(lambda n: f"map-tile-layer-{n}")
2121
url = factory.Sequence(lambda n: f"http://example-{n}.com")
2222
label = factory.Faker("word")
2323

src/openforms/submissions/tests/test_post_submission_event.py

+19-3
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@
1515
from openforms.emails.tests.factories import ConfirmationEmailTemplateFactory
1616
from openforms.forms.constants import LogicActionTypes, PropertyTypes
1717
from openforms.forms.tests.factories import FormLogicFactory
18+
from openforms.logging.models import TimelineLogProxy
1819
from openforms.payments.constants import PaymentStatus
1920
from openforms.payments.tests.factories import SubmissionPaymentFactory
2021
from openforms.registrations.base import PreRegistrationResult
2122
from openforms.registrations.contrib.zgw_apis.tests.factories import (
2223
ZGWApiGroupConfigFactory,
2324
)
25+
from openforms.tests.utils import log_flaky
2426
from openforms.utils.tests.logging import ensure_logger_level
2527

2628
from ..constants import PostSubmissionEvents, RegistrationStatuses
@@ -893,8 +895,24 @@ def test_cosign_not_required_and_not_filled_in_proceeds_with_registration(self):
893895
mock_payment_status_update.assert_not_called()
894896

895897
mails = mail.outbox
898+
submission.refresh_from_db()
899+
900+
# FLAKINESS HERE happens something, try to figure out what's going wrong
901+
if not mails:
902+
log_flaky()
903+
904+
# try to detect why no registration email was sent
905+
print(f"{submission.registration_status=}")
906+
print(f"{submission.payment_required=}")
907+
print(f"{submission.confirmation_email_sent=}")
908+
print(f"{submission.form.send_confirmation_email=}")
909+
# and print logevents
910+
logs = TimelineLogProxy.objects.for_object(submission)
911+
for log in logs:
912+
print(log.message().strip())
913+
914+
self.assertEqual(len(mails), 1) # No cosign request email!
896915

897-
self.assertEqual(1, len(mails)) # No cosign request email!
898916
self.assertEqual(
899917
mails[0].subject, "Confirmation of your Pretty Form submission"
900918
)
@@ -905,8 +923,6 @@ def test_cosign_not_required_and_not_filled_in_proceeds_with_registration(self):
905923

906924
self.assertNotIn(cosign_info, mails[0].body.strip("\n"))
907925

908-
submission.refresh_from_db()
909-
910926
self.assertFalse(submission.cosign_request_email_sent)
911927
self.assertTrue(submission.confirmation_email_sent)
912928
self.assertNotEqual(submission.auth_info.value, "111222333")

0 commit comments

Comments
 (0)