integration-0.1.0
Safe HaskellNone
LanguageGHC2021

Test.Meetings

Synopsis

Documentation

getMeetingIdAndDomain :: HasCallStack => Value -> App (String, String) Source #

Helper to extract meetingId and domain from a meeting JSON object

assertConversationMatchesLegacy :: HasCallStack => Value -> App () Source #

On create/update responses, the full conversation object is returned alongside the legacy qualified_conversation field. This asserts that both refer to the same conversation.

assertMeetingNotif :: (HasCallStack, MakesValue notif, MakesValue qid) => notif -> qid -> App () Source #

Assert a meeting lifecycle notification carries the meeting's qualified id flat at payload.0.qualified_id and has NO "data" wrapper (proves the no-nesting contract).

defaultMeetingJson :: String -> UTCTime -> UTCTime -> [String] -> Value Source #

Helper to create a default new meeting JSON object

testMeetingCreateTeamNonTrial :: HasCallStack => App () Source #

Test that team members create non-trial meetings. The deprecated meetingsPremium flag no longer affects this; team meetings are always non-trial (see WPB-26771).

testMeetingsReadsWhenDisabled :: HasCallStack => App () Source #

Read endpoints (GET meetingslist, GET meetings{domain}/{id}) treat a team with the meetings feature disabled as "no meetings" (list -> 200 [], get -> 404 meeting-not-found) instead of 403 invalid-op, while write endpoints (POST /meetings) keep the hard gate and still return 403 invalid-op. See WPB-27329.

waitForCleanupJob :: (HasCallStack, MakesValue domain) => domain -> App () Source #