The flaky test failures were caused by the tests depending on the database being properly seeded with the isAdminAPIEnabled flag set to true for the Acme organization. The tests would fail randomly when the database wasn't properly seeded or when the organization settings weren't configured correctly.
This fix adds beforeAll hooks to the failing integration tests to ensure that:
1. The Acme organization has isAdminAPIEnabled set to true
2. The Dunder Mifflin organization has isAdminAPIEnabled set to false
This ensures consistent test behavior regardless of the database state and prevents the flaky failures.
Fixes the following failing tests:
- isAdmin.integration-test.ts: Returns org-wide admin when user is set as such & admin API access is granted
- retrieveScopedAccessibleUsers.integration-test.ts: Returns members when admin user ID is supplied and members IDs are supplied
- retrieveScopedAccessibleUsers.integration-test.ts: Returns members when admin user ID is an admin of an org
- _get.integration-test.ts: Returns bookings for org users when accessed by org admin
- _patch.integration-test.ts: Allows PATCH when user is org-wide admin
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
* --init
* --
* replace old structure with new DI
* fix type
* --
* moving stuff around
* moving stuff around again
* minor clean up
* --
* resolve conflict
* clea up
* old schema clean up
* further clean up
* removing unwanted merged responsibilities
* --
* improve DI and SOLID
* some type fixes
* --1
* clean up --cont
* fix DI in facade for test
* more fix
* fix
* checking
* o.o
* fix import
* fix failing test --2
* fix failing test --3
* fix failing test --4
* normalization use
* introduce facade container injection
* uniform async telemetry spans
* further improvements
* replace prismock with repo mocks
* ensure we don't pass prisma outside of repo
* fix import
* remove try catch from repo calls
* async await fixes
* using deps pattern
* more clean up and fixes
* more clean up
* address feedback --1
* separation of concern
* clean up
* test clean up
* feedback --2
* remove extra fetch
* remove await
* migrate _post test from prismock
* fix type
* --
* fix tokens path
* rename AuditRepo
* test --1
* update _post to integration test
* fix test
* fix test
* test fix maybe?
* --
* feedback
* feedback
* fixes
* more feedback
* NIT
* use sentry and logger imports as planned
* assertion in test
* add missing test case
* add tests for controllers and services
* NITs
* fix domain normalisation
* Add email domain array
* Create numbered email domain object
* Check email domain
* Rename function
* Add tests
* Frontend enable skip ownership check if free email domain
* Backend ignore adding ownership to return records if free email domain check is enabled
* feat: Only require confirmation for free email domains (#17917)
* Add requiresConfirmationForFreeEmail to db
* Add option to event type settings
* Get requiresConfirmationForFreeEmail for event type page
* Include requiresConfirmationForFreeEmail in fetching event type
* Pass bookerEmail to `getRequiresConfirmationFlags`
* Add free email domain check to `determineRequiresConfirmation`
* Add `requiresConfirmationForFreeEmail` to types
* Add severity to Watchlist table
* Add migration for watchlist severity
* Add `getEmailDomainInWatchlist` method to watchlist repository
* Use watchlist repository to check for free email domain
* Mock watchlist repository in test
* Update test
* Rename method
* Add severity to blocked list
* Move check free email domain to async
* Type checks
* Adjust for promise returned
* Fix tests
* Fix
* Fix tests
* lock users on signup if their email is in blacklist
* add to turbo env list
* prevent locked user or blocked email domain from using API
* Refactored to only run 1 query to find the user
* Fixing tests
* WIP
* WIP
* WIP
* Discard changes to turbo.json
* Fixed tests
* Update isLockedOrBlocked.test.ts
* Update isAdmin.integration-test.ts
* Update tsconfig.json
* chore: rename to watchlist
Signed-off-by: Omar López <zomars@me.com>
---------
Signed-off-by: Omar López <zomars@me.com>
Co-authored-by: sean-brydon <sean@cal.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* seed to org
* more org+routing form seed improvments
* add routing responses
* check if attributes already exist to prevent crash
* remove files not for PR
* fix type error
* fix connection
* assign manually
* fix seed
* update to match integration tests
* fix integration test to new user count