scaffolding-oracle-to-postgres-migration-test-project
Scaffolds an xUnit integration test project targeting Oracle in .NET solutions. Creates the test project, transaction-rollback base class, and seed data manager. Use only during Phase 3, before writing Oracle baseline integration tests. Do not invoke during Phase 6 — the PostgreSQL test project is produced by migrating this project, not by running this skill again.
Works with
--- name: scaffolding-oracle-to-postgres-migration-test-project description: Scaffolds an xUnit integration test project targeting Oracle in .NET solutions. Creates the test project, transaction-rollback base class, and seed data manager. Use only during Phase 3, before writing Oracle baseline integration tests. Do not invoke during Phase 6 — the PostgreSQL test project is produced by migrating this project, not by running this skill again. license: MIT --- # Scaffolding an Integration Test Project for Oracle-to-PostgreSQL Migration Creates a compilable, empty xUnit test project with transaction management and seed data infrastructure for a single target project. Run once per project before writing tests. ## Workflow ``` Progress: - [ ] Step 1: Inspect the target project - [ ] Step 2: Create the xUnit test project - [ ] Step 3: Implement transaction-rollback base class - [ ] Step 4: Implement seed data manager - [ ] Step 5: Verify the project compiles ``` **Step 1: Inspect the target project** Read the target project's `.csproj` to determine the .NET version and existing package references. Match these versions exactly — do not upgrade. **Step 2: Create the xUnit test project** - Target the same .NET version as the application under test. - Add NuGet packages for Oracle database connectivity (`Oracle.ManagedDataAccess.Core`) and xUnit. - Add a project reference to the target project only — no other application projects. - Add an `appsettings.json` configured for Oracle database connectivity. **Step 3: Implement transaction-rollback base class** - Create a base test class that opens a transaction before each test and rolls it back after. - Catch and handle all exceptions to guarantee rollback. - Make the pattern inheritable by all downstream test classes. **Step 4: Implement seed data manager** - Create a global seed manager for loading test data within the transaction scope. - Do not commit seed data — transactions roll back after each test. - Do not use `TRUNCATE TABLE` — preserve existing database data. - Establish a naming convention for seed file location that downstream test creation will follow. **Step 5: Verify the project compiles** Build the test project and confirm it compiles with zero errors before finishing. ## Key Constraints - **Phase 3 only** — this skill scaffolds the Oracle-targeting test project. The PostgreSQL test project (Phase 6) is created by copying and migrating this project; do not run this skill again at that point. - Oracle is the golden behavior source — scaffold for Oracle only, not PostgreSQL. - Keep to existing .NET and C# versions; do not introduce newer language or runtime features. - Output is an empty test project with infrastructure only — no test cases.
More Testing skills
tdd
mattpocock/skills
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
agent-browser
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
setup-pre-commit
mattpocock/skills
Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.

