Skip to content

ATS-CMT-MTG-015Stand conflicted voters aside from a decision: Acceptance Test Set

Markdown

ATS-CMT-MTG-015

Stand conflicted voters aside from a decision: Acceptance Test Set

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-CMT-MTG-015

KindAcceptance test setProduct areaCommitteesModuleMeetings, Decisions and RecruitmentRevision1

Read atservices-committees 36129c24react-console baf6dae3

Test Scenarios

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

01 Recusals are recorded once and never after votingapinegativetest
Proves
BR-CAP-CMT-MTG-015-01
Preconditions
An audit vote with two conflicted directors.
Steps
Recuse one before opening and one after; recuse the first again; recuse a director who has voted.
Expected
Both recusals are recorded; the repeat and the recusal after voting are refused.
Data
A committee with a seated roster in a disposable workspace
Bound to
Source
services-committees:modules/decisions/tests/e2e/decisions.e2e.spec.ts#records a member recusing themself
02 A recused member’s vote is refusedapinegativetest
Proves
BR-CAP-CMT-MTG-015-02
Preconditions
An open roll call with a recused member.
Steps
Record the member’s vote.
Expected
The vote is refused.
Data
A committee with a seated roster in a disposable workspace
Bound to
Source
services-committees:modules/decisions/tests/integration/services/decisions.integration.spec.ts#refuses a recused member’s vote, 409 recused
03 A recusal cannot cite someone else’s disclosureapinegativetest
Proves
BR-CAP-CMT-MTG-015-03
Preconditions
Two voters with disclosures, and a disclosure of another workspace.
Steps
Recuse one voter citing a missing disclosure, the other voter’s, and another workspace’s; then their own.
Expected
The first three are refused naming the field; the last is recorded.
Data
A committee with a seated roster in a disposable workspace
Bound to
services-committees:modules/decisions/tests/integration/api/recusal-disclosure.integration.spec.ts#answers 400 unknown_disclosure naming the field for a disclosure that does not exist
services-committees:modules/decisions/tests/integration/api/recusal-disclosure.integration.spec.ts#answers 400 unknown_disclosure naming the field for another voter’s disclosure
services-committees:modules/decisions/tests/integration/api/recusal-disclosure.integration.spec.ts#answers 400 unknown_disclosure naming the field for another tenant’s disclosure
services-committees:modules/decisions/tests/integration/api/recusal-disclosure.integration.spec.ts#records the recusal naming the voter’s own disclosure, none of the refused ones having been stored
services-committees:modules/decisions/tests/unit/services/decision-rules.spec.ts#refuses another contact’s disclosure as unknown_disclosure
Source
services-committees:modules/decisions/tests/integration/api/recusal-disclosure.integration.spec.ts#answers 400 unknown_disclosure naming the field for a disclosure that does not exist
04 A disclosed interest in the firm prompts recusalapitest
Proves
BR-CAP-CMT-MTG-015-04
Preconditions
A decision linked to a firm; one voter’s accepted disclosure names it, another’s is not yet accepted.
Steps
Read the decision’s recusals.
Expected
The first voter is suggested with the reason; the second is not.
Data
A committee with a seated roster in a disposable workspace
Bound to
services-committees:modules/decisions/tests/integration/services/disclosures.integration.spec.ts#suggests the voter whose accepted disclosure names the decision’s linked organization, and why
services-committees:modules/decisions/tests/integration/services/disclosures.integration.spec.ts#suggests nobody for a disclosure naming it that is not yet accepted
Source
services-committees:modules/decisions/tests/integration/services/disclosures.integration.spec.ts#suggests the voter whose accepted disclosure names the decision’s linked organization, and why
05 Suggestions reach only disclosure readersapinegativetest
Proves
BR-CAP-CMT-MTG-015-05
Preconditions
An open decision with a suggested recusal; a reader without and staff with the disclosures key.
Steps
Read the decision and its recusals as each.
Expected
The reader sees no suggestions; staff see them on both reads.
Data
A committee with a seated roster in a disposable workspace
Bound to
services-committees:modules/decisions/tests/integration/api/recusal-confidentiality.integration.spec.ts#shows the bookkeeper an open decision’s recusals without suggestions
services-committees:modules/decisions/tests/integration/api/recusal-confidentiality.integration.spec.ts#shows staff holding the disclosures key the suggestion on the recusals
services-committees:modules/decisions/tests/integration/api/recusal-confidentiality.integration.spec.ts#shows staff holding the disclosures key the suggestion on the decision’s read
Source
services-committees:modules/decisions/tests/integration/api/recusal-confidentiality.integration.spec.ts#shows the bookkeeper an open decision’s recusals without suggestions
06 A confidential decision’s recusals stay hiddenapinegativetest
Proves
BR-CAP-CMT-MTG-015-06
Preconditions
A confidential decision with a recusal; a reader and a manager without the disclosures key.
Steps
List its recusals as each.
Expected
The reader is refused as not found; the manager sees the recusals without suggestions.
Data
A committee with a seated roster in a disposable workspace
Bound to
services-committees:modules/decisions/tests/integration/api/recusal-confidentiality.integration.spec.ts#answers the bookkeeper 404 for the confidential decision’s recusals
services-committees:modules/decisions/tests/integration/api/recusal-confidentiality.integration.spec.ts#shows a manager without the disclosures key the confidential decision’s recusals without suggestions
services-committees:modules/decisions/tests/integration/api/confidential-reads.integration.spec.ts#answers the bookkeeper 404 for the confidential decision’s recusals
Source
services-committees:modules/decisions/tests/integration/api/recusal-confidentiality.integration.spec.ts#answers the bookkeeper 404 for the confidential decision’s recusals
07 A member recuses from an e-mail vote in the portalapinegativetest
Proves
BR-CAP-CMT-MTG-015-07
Preconditions
A member who is a voter of a draft and an open decision.
Steps
Recuse from each in the portal; then vote on the open one.
Expected
The draft is refused today; the open recusal is recorded and the vote is refused.
Data
A committee with a seated roster in a disposable workspace
Bound to
Source
react-console:acceptance/committees/playwright/journeys/decisions/CMT-ACC-0350.spec.ts#CMT-ACC-0350
08 Journey end state: a recused member’s vote is refusedapitest
Proves
AS-JNY-CMT-MTG-004-01
Preconditions
The journey’s earlier steps have run.
Steps
Run the journey to this point and read the records.
Expected
A recused member’s vote is refused.
Data
The journey’s fixtures in a disposable workspace
Bound to
Source
services-committees:modules/decisions/tests/integration/services/decisions.integration.spec.ts#refuses a recused member’s vote, 409 recused
09 Journey end state: only staff holding the disclosures permission see the suggestionapitest
Proves
AS-JNY-CMT-MTG-004-02
Preconditions
The journey’s earlier steps have run.
Steps
Run the journey to this point and read the records.
Expected
Only staff holding the disclosures permission see the suggestion.
Data
The journey’s fixtures in a disposable workspace
Bound to
services-committees:modules/decisions/tests/integration/api/recusal-confidentiality.integration.spec.ts#shows the bookkeeper an open decision’s recusals without suggestions
Source
services-committees:modules/decisions/tests/integration/api/recusal-confidentiality.integration.spec.ts#shows the bookkeeper an open decision’s recusals without suggestions

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.