Test Scenarios
25 scenarios proving CAP-CRM-ENT-009; 15 bound to an existing test.
11 the Organization field commandruleapinegativetest
- Proves
BR-CAP-CRM-ENT-009-11 - Preconditions
- Prepare contacts with and without a primary.
- Steps
- Pick Acme; change to Globex with end and keep; backdate; clear; change on the day the primary started; effective date tomorrow.
- Expected
- Primary of the default type from today; old ended yesterday or preserved; old ends the day before; none; removed; 400.
- Data
- No additional fixtures.
- Bound to
- Source
- services-crm:modules/entities/tests/e2e/contact-affiliations.e2e.spec.js#ends the previous primary affiliation yesterday by default ('end'), no longer primary and now past
12 Did they leave?transitionbrowsernegativeproposed
- Proves
BR-CAP-CRM-ENT-009-12 - Preconditions
- Prepare a person primary at Harbor.
- Steps
- Add Bayview as primary and answer Yes; repeat answering No; Make Primary on an existing affiliation.
- Expected
- The old affiliation ends the day before the new start, or on its own start date if later; choosing to stay preserves it current, and Make Primary asks no question.
- Data
- Use two organizations.
- Source
- react-console:lib/affiliations/section.ts:affiliationBeingLeft
13 Job title follows the primary both waysinteractionbrowsertest
- Proves
BR-CAP-CRM-ENT-009-13 INV-DOM-CRM-ENT-003-09 - Preconditions
- Prepare a contact with a primary affiliation.
- Steps
- Change the contact's title; change the primary's title; add a primary with no title.
- Expected
- Each side takes the other's; the new primary takes the contact's.
- Data
- No additional fixtures.
- Bound to
- Source
- services-crm:modules/entities/tests/unit/services/persistence/contact-affiliations.spec.js#gives the contact the primary affiliation's job title when the save changed only the affiliation's
15 the organization's people listpermissionbrowsernegativetest
- Proves
BR-CAP-CRM-ENT-009-15 - Preconditions
- Prepare an organization with current, ended and upcoming affiliations.
- Steps
- List by default, past, future, all, as_of, by type, by role, paged; as an organizations-only reader.
- Expected
- Each filter as named with totals; 403 permission_missing.
- Data
- No additional fixtures.
- Bound to
- Source
- services-crm:modules/entities/tests/e2e/contact-affiliations.e2e.spec.js#answers 403 permission_missing to a caller who may read organizations but not contacts
17 Preserve the first relationship correction when edits competeconcurrencyapinegativeproposed
- Proves
BR-CAP-CRM-ENT-009-02 BR-CAP-CRM-ENT-004-01 - Preconditions
- Two editors read one person with a current affiliation.
- Steps
- Save a title correction from the first editor; submit a different relationship correction from the second at the old person version.
- Expected
- The second save conflicts and the first relationship correction remains stored.
- Data
- Run-owned records and configuration in an isolated workspace.
- Source
- services-crm:modules/entities/tests/e2e/contacts.e2e.spec.js#answers 400 naming sys_version to a patch that tests no version
25 Exercise every declared authority independentlypermissionapinegativeproposed
- Proves
BR-CAP-CRM-ENT-009-15 - Preconditions
- An eligible record and configuration fixture exist for each operation; the caller can reach only the run’s workspace.
- Steps
- For each declared permission, execute its matching operation with that permission, then without it while retaining the other required grants. Read affected records after every refused mutation.
- Expected
- The authorized case reaches the operation; the missing-grant case is refused and preserves saved data. Record access alone does not authorize the other declared actions.
- Data
- Run-owned records and configuration in an isolated workspace.
- Source
- services-crm:aws/crm.service.ts:ApplicationPermissions; services-crm:modules/entities/aws/api/entities.routes.ts