Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test(client): add
relationMode
datasource property tests for all da…
…tabases (#14221) * test(client): prototype referential integrity tests Related: #10806 Test Suites: 1 failed, 1 total Tests: 3 failed, 45 passed, 48 total Snapshots: 0 total Time: 9.838 s * exclude mongodb to see if types tests fail like locally * wip rewrite with Alberto * chore: update tests * chore: used .rejects.toThrowError * chore: started adding ref actions * chore: mongodb only supports 'referentialIntegrity: prisma' * chore: added support for conditional error messages * wip reorg with describe revert matrix and schema changes beforeEach check and create users with profiles * fix referentialIntegrityLine * add skeleton for 1:n and m:n tests * chore: highlighted some test errors with mongodb * chore: added create tests for 1:n relationship * chore: added TODO comment * WIP m:n for SQL databases * ci: try running github actions matrix with our tests only * ci: remove needs: detect_jobs_to_run * ci: fix os matrix * ci: small CI env var tweak * ci: fix bash line * chore: added some update/delete tests for 1:n * chore: added comments to _matrix.ts * postgresql m:n all referential actions * merge main * DEFAULT, exclude Restrict from SQL Server, fix tests * add mongodb tests for m:n * chore: added some additional ref actions, added support for SQL Server * chore: fixed bug with DEFAULT not tested, added upsert test, fixed some conditional errors, found panic on SQLServer with SetDefault * reuse sql schema for mongodb 1:1 1:n * 1:1 test all referral actions for onDelete & clean * chore: improved ref actions, fixed failing tests * chore: reproduced issue #14271 * chore: split relationships in separate files * split m:n mongodb tests into its own file * add `enabled Boolean?` on 1-to-n It's a reproduction of #13766 * m:n add comments where RI=prisma - Cascade resolves instead of failing in update and create * add `published Boolean?` to MongoDB and update tests * 1:1 add `enabled Boolean?` and MongoDB update tests * add `published Boolean?` to m:n with update tests * chore: updated sql server tests * add comments to m:n [skip ci] * add a mongodb test for immutable _id * full database matrix for CI * split schemas into simple files * m to n MongoDB: change tests to match current implementation expectations * chore: add JSON support to getTestSuiteFullName * chore: moved ref integrity utils to its own folder. Added builder pattern to conditional error. Added matrix generation. Extracted self-contained utilities out of _schema.ts file. * chore: added sqlite support and referentialIntegrity=prisma snapshots to 1:1 and 1:n relations * chore: pnpm-lock * chore: removed temp folder that wasn't supposed to be committed * chore: imported right 'checkIfEmpty' util for m:n relation * clean and add sqlite on m to n * m to n add RI=Prisma messages as comments + small edits add expectation even for `toThrowError()` cases * m:n: split 1 test for prisma/foreignKeys * chore: added prisma snapshots and errors as comments in m:n relation (no MongoDB yet) * chore: added mongodb and comments to _matrix * fix: moved _referential-integrity-utils to _utils/referential-integrity to support ERR_PNPM_NO_SCRIPT Missing script: test:functional-code command * update matrix for MongoDB: add SetNull * chore: added comments to m:n * m to n: small edits for RI=prisma * test 1:1 / 1:n add expects for expected throws and fix some RI=prisma messages * chore: prettier * 1:1 handle error messages depending on RI=prisma/foreignKeys * * simplify conditionals * m to n: change expectations to match current state * chore: comment skipped test * sqlite: skip createMany in 1:n relations * chore: added missing sqlite snapshots to 1:n relation * 1:n add missing delete action variants * 1:n simplify and handle expected RI=prisma tests that should succeed * chore: added reproduction of issue #10000 * chore: updated reproduction of issue #10000 * chore: reproduce issue #12378 * 1:1 separate onUpdate: Restrict, NoAction * 1:1 fix create test from should throw to should succeed * ci: separate action test for each relation / file * ci: continue-on-error: true * fix: referential actions test params * fix ts checks * only run pnpm run test:functional:code filename * fix Cannot destructure property 'onDelete' of 'suiteConfig.referentialActions' as it is undefined. * chore: added reproduction of issue #12557 * chore: add assertions to nested child connect in 1:1 * chore: clean unused code and better describe title * test: add test about NO ACTION behavior with DEFERRABLE constraint * manually bump engines * chore: rename referentialIntegrity datasource property to relationMode * fix github actions * fix test about 14759 and RELATION_MODE env var * cleanup some reproduce-x test cases * add sqlite error snapshot * remove continue-on-error * remove outdated comments * ci: remove last continue-on-error: true * test: add `SetNull` to the matrix only for relationMode=prisma * ci: add continue-on-error: true to run all tests * fix snapshot with lowerace table name and run SQL Server * exclude SQL Server / SetNull when relationMode !== prisma * fix computeMatrix for SQL Server Restrict emulation which is not implemented * change failing tests (issue 15683) to use .failing * fix SQL Server test * test(reproductions): fix empty test name * fix relationMode = prisma SQL Server error snapshot * fix relationMode = prisma SQL Server error snapshot * fix relationMode = prisma SQL Server error snapshot * comment vitess docker image (unused) and put back timeout to 60s * test: fix snapshots for field-reference * test: fix snapshot and getTestSuiteParametersString * ignore expected type errors * add note about SetNull is not run for foreignKeys in the test suite * test: tweak comment and fix 1:1 test snapshots * Unused '@ts-expect-error' directive. * add `--relation-mode-tests-only` to unblock merge * test: skip NoAction for PostgreSQL and SQLite Related prisma/prisma-engines#3274 * fix relationMode value * fix test name + comments * cleanup matrix and move reproduce tests to issues directory * add test for referentialIntegrity="prisma" Closes #15736 * cleanup comments and misleading `toThrowError()` for expected to fail tests * chore: removed useless comment * chore: removed useless comments * fix imports for moved tests in issues directory Co-authored-by: jkomyno <skiabo97@gmail.com> Co-authored-by: Alberto Schiabel <jkomyno@users.noreply.github.com>
- Loading branch information