PM-34033 - Add individual user seeding to preset pipeline#7304
PM-34033 - Add individual user seeding to preset pipeline#7304theMickster merged 9 commits intomainfrom
Conversation
|
Overall Assessment: APPROVE Adds individual user seeding to the preset pipeline with Code Review DetailsNo findings. |
|
New Issues (2)Checkmarx found the following issues in this Pull Request
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7304 +/- ##
=======================================
Coverage 57.91% 57.91%
=======================================
Files 2045 2045
Lines 90235 90235
Branches 8024 8024
=======================================
Hits 52264 52264
Misses 36104 36104
Partials 1867 1867 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|





🎟️ Tracking
PM-34033
📔 Objective
Adds individual user seeding to the preset pipeline — standalone user accounts with no organization, for testing personal vault features without org overhead. Also includes a maintainability refactor extracting
SeederDependencies,SeederServiceFactory, andPresetCatalogServiceto reduce duplication across CLI commands.What's new
individualCLI command — seed individual users programmatically with--subscription,--first-name,--last-name,--vaultflags. Random Faker names auto-enable mangling.free,premium) — fixture-based individual user presets withciphers: { count: 0 }(cipher fixtures TBD).PresetValidator— validates mutual exclusivity oforganizationanduserkeys, rejects org-only fields on individual presets.PresetCatalogService— catalog listing extracted fromOrganizationRecipeinto a dedicated public service.SeederDependencies— bundlesDatabaseContext,IMapper,IPasswordHasher<User>,IManglerServiceinto a single record. Recipes and the orchestrator accept this instead of 4 loose parameters.SeederServiceFactory— shared DI setup for CLI commands, replacing duplicatedServiceCollectionboilerplate in each command.ciphers.countminimum lowered from 1 to 0 to support empty-vault presets.🧪 Testing
Expand for testing instructions
Step 1: Seed individual presets
From
util/SeederUtility/:Step 2: Seed via the
individualCLI commandStep 3: Verify login
individual.freefreeuser@individual.exampleasdfasdfasdfindividual.premiumpremuser@individual.exampleasdfasdfasdfindividual --subscription free --first-name John --last-name Doejohn.doe@individual.exampleasdfasdfasdfStep 4: Verify backward compatibility
Seed existing org presets and confirm identical behavior:
Step 5: Verify
--listshows both categoriesShould show "Organization Presets:" and "Individual User Presets:" sections.