ATS-CMT-MTG-003 Maintain meeting participation and attendance: Acceptance Test Set
Markdown Planning / Committees / Meetings, Decisions and Recruitment / Committee Calendar and Participation / Capability Test Specification Maintain meeting participation and attendance: Acceptance Test Set Coverage Show evidence (sources, provenance, origins, pinned commits)Test Scenarios 15 scenarios proving CAP-CMT-MTG-003 ; 11 bound to an existing test.
01 Creation records the date-specific roster roles api test
Proves BR-CAP-CMT-MTG-003-01 Preconditions A committee has a chair, four directors, an adviser and a liaison. Steps Save a meeting and retrieve its participants. Expected Seven participants appear with the chair and director voting flags and the adviser and liaison roles from the roster. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Bound to Source services-committees:modules/meetings/tests/unit/services/snapshot-and-participation.spec.ts #makes a seat-holder in a chair position the chair 02 Multiple roster seats produce one participant unit test
Proves BR-CAP-CMT-MTG-003-02 Preconditions One contact has chair and director entries; another has voting and non-voting entries. Steps Build the participant snapshot. Expected Each contact appears once, using the chair entry or, absent a chair entry, the voting entry. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Bound to Source services-committees:modules/meetings/tests/unit/services/snapshot-and-participation.spec.ts #keeps a contact with two seats once, by the chair seat 03 The roster remains current before the call to order api proposed
Proves BR-CAP-CMT-MTG-003-03 Preconditions A meeting exists before a new director joins and another director leaves. Steps Retrieve participants before calling the meeting to order. Expected The roster changes appear while manually added guests, proxies and corrections remain. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Source services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md #D4 04 Manual additions preserve contact uniqueness api negative test
Proves BR-CAP-CMT-MTG-003-04 Preconditions A meeting is scheduled and a director was appointed after its creation. Steps Add a guest, add the late appointee, and add the same guest again. Expected The first additions succeed with the selected roles; the duplicate returns participant_exists. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Bound to Source services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts #adds a guest with no appointment, non-voting 05 A proxy cannot represent an unlisted appointment api negative test
Proves BR-CAP-CMT-MTG-003-05 Preconditions A committee has no rule document and its meeting has participants. Steps Add a proxy naming an appointment outside the meeting’s participant list. Expected The request is rejected without adding a participant. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Bound to Source services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts #refuses a proxy for an appointment that is not at the meeting 06 Proxy policy distinguishes absent rules from an explicit prohibition api negative test
Proves BR-CAP-CMT-MTG-003-06 Preconditions One committee has no rules; another explicitly forbids proxies. Steps Add a proxy for an appointment represented at each meeting. Expected The rule-less committee accepts the proxy; the other returns proxies_forbidden. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Bound to Source services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts #adds a proxy for an appointment of the meeting when the committee has no rules 07 Proxy representation preserves the holder’s own presence api proposed
Proves BR-CAP-CMT-MTG-003-07 Preconditions A committee explicitly allows proxies and a present director represents an absent member. Steps Record the representation, inspect attendance and attempt another proxy for that absent member. Expected The holder retains their own attendance and role, representation is visible on the absent member, and duplicate representation is refused. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Source services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md #D5 08 Attendance batches validate before committing a complete result api negative test
Proves BR-CAP-CMT-MTG-003-08 BR-CAP-CMT-MTG-003-09 Preconditions A meeting has recorded participants and an initial attendance state. Steps Submit valid attendance; then submit duplicate identities, reversed presence times and a participant from another meeting. Expected Valid entries are retained; each invalid batch is rejected without any partial changes. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Bound to Source services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts #records attendance for every participant in one write 09 Reopening authorises corrections and preserves an append-only audit api negative test
Proves BR-CAP-CMT-MTG-003-10 Preconditions A meeting has been closed. Steps Attempt an ordinary correction, then correct as a manager with explicit reopening; attempt to update and delete its audit. Expected The ordinary edit fails, the authorised edit succeeds with actor, subjects, outcome and time recorded, and the application cannot alter or delete the audit. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Bound to Source services-committees:modules/meetings/tests/integration/services/minutes.integration.spec.ts #refuses attendance after the close without reopen 10 Post-close corrections explain their reason api negative proposed
Proves BR-CAP-CMT-MTG-003-11 Preconditions A held meeting has attendance to correct. Steps Request a reopened correction without a reason, then provide one. Expected Only the explained correction succeeds and its reason is visible in history. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Source services-committees:docs/milestones/plans/CMTE-M3-plan.md #D12 11 Cancellation blocks reopening edits unit negative test
Proves BR-CAP-CMT-MTG-003-12 Preconditions The participant edit rule receives a cancelled meeting. Steps Evaluate participant editing with reopening disabled and enabled. Expected Both requests are refused. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Bound to Source services-committees:modules/meetings/tests/unit/services/minutes-rule.spec.ts #refuses every edit of a cancelled meeting, reopened or not 12 Repeated video delivery records one attendance event api test
Proves BR-CAP-CMT-MTG-003-13 Preconditions A meeting has a virtual room and an identifiable participant. Steps Deliver an identical joined event twice. Expected The participant retains exactly one event with that identity. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Bound to Source services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts #records a joined event on the participant once, however often it is delivered 13 Accidental participants can be removed before proceedings start api proposed
Proves BR-CAP-CMT-MTG-003-14 Preconditions A scheduled meeting contains an incorrectly added guest. Steps Remove the guest, then attempt removal after the call to order. Expected The first removal succeeds and the later removal is refused. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Source services-committees:docs/milestones/plans/CMTE-M3-plan.md #D12 14 Participant updates protect version and identity api negative test
Proves BR-CAP-CMT-MTG-003-15 Preconditions A scheduled meeting and an appointment in another committee exist. Steps Update a participant with a stale version, then try replacing its contact or appointment. Expected Stale updates return conflict and identity replacements fail request validation. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Bound to Source react-console:acceptance/committees/playwright/journeys/meetings/CMT-ACC-0222.spec.ts #CMT-ACC-0222 15 Manual additions expose the limits of reference validation api negative test
Proves BR-CAP-CMT-MTG-003-16 Preconditions A scheduled meeting and an appointment in another committee exist. Steps Add a free-text contact with an existing appointment from another committee, then try an unknown appointment. Expected The mismatched existing references are accepted; the nonexistent appointment is rejected. Data A disposable workspace with dated appointments, distinct contacts and recorded meeting participants. Bound to Source react-console:acceptance/committees/playwright/journeys/meetings/CMT-ACC-0222.spec.ts #CMT-ACC-0222 ← Previous Capability Test Specification ATS-CMT-MTG-002 · Maintain a committee’s recurring meeting schedule: Acceptance Test Set Next Capability Test Specification → ATS-CMT-MTG-004 · Prepare and share an ordered meeting agenda: Acceptance Test Set