Skip to content

Instantly share code, notes, and snippets.

@gregblake
Created January 7, 2026 15:02
Show Gist options
  • Select an option

  • Save gregblake/3a17b0bb4e3813338ee810834de8e5d6 to your computer and use it in GitHub Desktop.

Select an option

Save gregblake/3a17b0bb4e3813338ee810834de8e5d6 to your computer and use it in GitHub Desktop.
PersistedResourceEvent Test Coverage

PersistedResourceEvent Test Coverage

Scenario 1: required_user_group_types = [] (default/empty)

No configuration set, uses default []

Event IS triggered (4 tests):

  1. Lines 11-37: "creates an external user" Active user without groups publishes event

  2. Lines 39-68: "creates user with group memberships" User with groups publishes event

  3. Lines 72-90: "updates an existing external user on a CreateEvent" Update active to inactive publishes event

  4. Lines 92-107: "updates an existing external user on an ReplaceEvent" Update user publishes event

Scenario 2: required_user_group_types = %w[Departments Titles Territories Roles]

Configured with required groups

Event IS triggered (6 tests):

  1. Lines 148-160: "creates user with valid groups via CreateEvent" Active user with all required groups publishes event

  2. Lines 162-173: "creates user with valid groups via ReplaceEvent" Active user with all required groups publishes event

  3. Lines 187-201: "updates user with valid groups via CreateEvent" Update with valid groups publishes event

  4. Lines 203-217: "updates user with valid groups via ReplaceEvent" Update with valid groups publishes event

  5. Lines 234-246: "creates inactive user without groups" Inactive user without groups publishes event (validation skipped)

  6. Lines 248-261: "updates inactive user without groups" Inactive user without groups publishes event (validation skipped)

Event is NOT triggered (2 tests):

  1. Lines 175-183: "propagates validation error when groups are invalid" Active user without groups raises error, no event published

  2. Lines 219-230: "propagates validation error when update has invalid groups" Active user with insufficient groups raises error, no event published

Key Distinction

Active users require valid groups when configured. Inactive users bypass validation and always publish the event.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment