Skip to content

ATS-CMT-MTG-006Maintain meeting notices, calendar feeds and video access: Acceptance Test Set

Markdown

ATS-CMT-MTG-006

Maintain meeting notices, calendar feeds and video access: Acceptance Test Set

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-CMT-MTG-006

KindAcceptance test setProduct areaCommitteesModuleMeetings, Decisions and RecruitmentRevision2

Read atservices-committees 36129c24react-console baf6dae3

Test Scenarios

12 scenarios proving CAP-CMT-MTG-006; 9 bound to an existing test.

01 Calling, agenda publication and reminders select their recipientsapitest
Proves
BR-CAP-CMT-MTG-006-01
Preconditions
A meeting has three participants, including one who declined.
Steps
Schedule the meeting, publish its agenda and sweep reminders within forty-eight hours.
Expected
Eligible participants receive one submission for each occasion and the declined participant receives no reminder.
Data
An isolated workspace with participants, controlled clocks, recording ports and inspectable notification and calendar storage.
Bound to
services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts#calls the notifier once per participant and purpose: called, agenda, the 48-hour reminder
services-committees:modules/meetings/tests/e2e/meetings.e2e.spec.ts#called every participant, told them of the agenda and of the packet, once each
Source
services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts#calls the notifier once per participant and purpose: called, agenda, the 48-hour reminder
02 Repeating a reminder sweep does not resubmitapitest
Proves
BR-CAP-CMT-MTG-006-02
Preconditions
The first sweep has submitted the meeting’s reminders.
Steps
Sweep the same reminder window again.
Expected
The existing keys are counted as already submitted and no duplicate request is made.
Data
An isolated workspace with participants, controlled clocks, recording ports and inspectable notification and calendar storage.
Bound to
Source
services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts#makes every idempotency key once
03 Address selection remains within the workspaceapitest
Proves
BR-CAP-CMT-MTG-006-03
Preconditions
One participant has a primary address; another has no local address but has one in another workspace.
Steps
Schedule the meeting with the real notifier and inspect its requests.
Expected
The first request uses the primary address and the other participant is skipped with a reason.
Data
An isolated workspace with participants, controlled clocks, recording ports and inspectable notification and calendar storage.
Bound to
services-committees:modules/meetings/tests/unit/ports/contact-addresses.spec.ts#is the next position’s when the contact holds no primary
services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts#skips Lee, who has no address in this tenant, with the reason it always gave, though another tenant’s Lee has one
Source
services-committees:modules/meetings/tests/unit/ports/contact-addresses.spec.ts#is the primary address of a contact with one
04 Blocked communications leave keys available for explicit retryapitest
Proves
BR-CAP-CMT-MTG-006-04
Preconditions
The communications bucket is unavailable.
Steps
Schedule the meeting; install a submitting notifier and explicitly invoke the same call-notice operation.
Expected
The meeting exists without a retained initial ledger row; the explicit retry submits both participant requests.
Data
An isolated workspace with participants, controlled clocks, recording ports and inspectable notification and calendar storage.
Bound to
services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts#leaves no ledger row while blocked, so the keys stay free for the later run
services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts#submits both calls on a later run, the same keys found free (premise: the ledger counts them then)
Source
services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts#writes the scheduled meeting
05 Deferred meeting e-mail stays suppressedapiproposed
Proves
BR-CAP-CMT-MTG-006-05
Preconditions
Communications are configured and ready.
Steps
Schedule a meeting, publish its papers, circulate its minutes and sweep reminders.
Expected
No request is submitted for the deferred meeting purposes.
Data
An isolated workspace with participants, controlled clocks, recording ports and inspectable notification and calendar storage.
Source
services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#D1
06 Invitation and cancellation rendering matches the reference filesunittest
Proves
BR-CAP-CMT-MTG-006-06
Preconditions
The same meeting is represented before and after cancellation.
Steps
Render both calendar variants, including a long text field.
Expected
Golden files match, with the expected escaping, line folding and line endings.
Data
An isolated workspace with participants, controlled clocks, recording ports and inspectable notification and calendar storage.
Bound to
services-committees:modules/meetings/tests/unit/services/ics-calendar.spec.ts#folds a long line at 75 octets, continuing with a space
Source
services-committees:modules/meetings/tests/unit/services/ics-calendar.spec.ts#renders an invitation as the golden file
07 Token rotation invalidates the earlier secretapinegativetest
Proves
BR-CAP-CMT-MTG-006-07
Preconditions
A contact already holds a calendar token.
Steps
Issue a replacement, resolve each token through the token service and inspect the stored token rows.
Expected
The earlier token resolves no contact, the new one resolves its owner, and storage contains fingerprints rather than secrets.
Data
An isolated workspace with participants, controlled clocks, recording ports and inspectable notification and calendar storage.
Bound to
services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts#stores only the tokens’ hashes, the first revoked by the rotation
Source
services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts#stores only the tokens’ hashes, the first revoked by the rotation
08 The feed authenticates a live token without a sessionapinegativetest
Proves
BR-CAP-CMT-MTG-006-08
Preconditions
A contact has three eligible meetings and a issued token.
Steps
Request the calendar feed without a session using that token, then an unknown token.
Expected
The live token returns all three meeting identities and the unknown token returns not found.
Data
An isolated workspace with participants, controlled clocks, recording ports and inspectable notification and calendar storage.
Bound to
services-committees:modules/meetings/tests/e2e/meetings.e2e.spec.ts#answers the personal feed with Dana’s three meetings for her token, with no session
Source
services-committees:modules/meetings/tests/e2e/meetings.e2e.spec.ts#answers the personal feed with Dana’s three meetings for her token, with no session
09 Room creation follows commit and leaves no successful retry workapitest
Proves
BR-CAP-CMT-MTG-006-09
Preconditions
A scheduled virtual meeting requests a room.
Steps
Drain the room queue after commit and drain again.
Expected
The provider receives one create call, the meeting retains its link and the next drain finds no remaining work.
Data
An isolated workspace with participants, controlled clocks, recording ports and inspectable notification and calendar storage.
Bound to
Source
services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts#makes one create call after commit, keyed by the meeting
10 Partial video changes preserve existing room detailsapiproposed
Proves
BR-CAP-CMT-MTG-006-11
Preconditions
A meeting has provider-created video information.
Steps
Update its join link while submitting an older video block.
Expected
The update preserves other video details and the existing provider room.
Data
An isolated workspace with participants, controlled clocks, recording ports and inspectable notification and calendar storage.
Source
services-committees:docs/milestones/plans/CMTE-M3-plan.md#D12
11 Calendar descriptions expose the current staff-note behaviourapiproposed
Proves
BR-CAP-CMT-MTG-006-12
Preconditions
A meeting has distinctive staff notes and a participant holds a feed token.
Steps
Download its calendar file and request the personal feed.
Expected
Both event descriptions carry the staff notes; any future exclusion requires the recorded product decision.
Data
An isolated workspace with participants, controlled clocks, recording ports and inspectable notification and calendar storage.
Source
services-committees:modules/meetings/services/persistence/calendar-feeds.ts:icsMeetingOf
12 The meeting journey records one submission per publication occasionapitest
Proves
AS-JNY-CMT-MTG-001-01
Preconditions
The journey has scheduled its meeting and published its agenda and packet.
Steps
Inspect the recording notifier at the publication checkpoints.
Expected
Every participant has one call, one agenda-publication and one packet-publication submission.
Data
An isolated workspace with participants, controlled clocks, recording ports and inspectable notification and calendar storage.
Bound to
services-committees:modules/meetings/tests/e2e/meetings.e2e.spec.ts#called every participant, told them of the agenda and of the packet, once each
Source
services-committees:modules/meetings/tests/e2e/meetings.e2e.spec.ts#called every participant, told them of the agenda and of the packet, once each

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.