{"_id":"@ambicuity/test-suite","_rev":"5-e87a6a48bd4bc6bfbf556edfff2d7366","name":"@ambicuity/test-suite","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@ambicuity/test-suite","version":"1.0.0","keywords":["test","suite","tests","key","value","store","cache","ttl"],"author":{"name":"Ritesh Rana","email":"contact@riteshrana.engineer"},"license":"MIT","_id":"@ambicuity/test-suite@1.0.0","maintainers":[{"name":"ambicuity","email":"riteshrana36@gmail.com"}],"dist":{"shasum":"ee74dc432126f7e961a2da234efe9e9fe98fe715","tarball":"https://registry.npmjs.org/@ambicuity/test-suite/-/test-suite-1.0.0.tgz","fileCount":7,"integrity":"sha512-3bGA2+qG8V7is2RMPQb5Ri2jUCSKH475CTEJc9GrA4w9qRViripVyWd5z+DAsABdVTN1UEODKUeRqfBJ+SLxoQ==","signatures":[{"sig":"MEYCIQDWjBTo0BGfgR29n94hw8UTLLNMPMofec0Dg4dKQPv4sQIhAPW1MrnXOfUEmcpayUiEpBKonBDOgqYEmidWxHxtlox4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124749},"main":"./dist/index.mjs","type":"module","_from":"file:ambicuity-test-suite-1.0.0.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"biome check --write --error-on-warnings","test":"pnpm lint && vitest run --coverage","build":"tsdown","clean":"rimraf ./node_modules ./coverage ./dist ./test/testdb.sqlite","lint:ci":"biome check --error-on-warnings","test:ci":"pnpm lint:ci && vitest --run --sequence.setupFiles=list --coverage"},"_npmUser":{"name":"ambicuity","email":"riteshrana36@gmail.com"},"_resolved":"/private/var/folders/tc/9srvxb_11h5bpdgnjy16lbqr0000gn/T/8b0a14841852a2814ab65aecde9f3944/ambicuity-test-suite-1.0.0.tgz","_integrity":"sha512-3bGA2+qG8V7is2RMPQb5Ri2jUCSKH475CTEJc9GrA4w9qRViripVyWd5z+DAsABdVTN1UEODKUeRqfBJ+SLxoQ==","_npmVersion":"11.12.1","description":"Test suite for Storely API compliancy","directories":{},"_nodeVersion":"25.9.0","dependencies":{"vitest":"^4.0.15","sqlite3":"^5.1.7","timekeeper":"^2.3.1","json-bigint":"^1.0.0","bignumber.js":"^9.3.1","@faker-js/faker":"^10.2.0","@vitest/coverage-v8":"^4.0.15"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.2","lz4-napi":"^2.9.0","@biomejs/biome":"^2.3.8","@types/json-bigint":"^1.0.4"},"peerDependencies":{"@ambicuity/storely":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/test-suite_1.0.0_1778541842798_0.866832375114519","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Deprecated: use @ambicuity/storely instead."},"1.0.1":{"name":"@ambicuity/test-suite","version":"1.0.1","keywords":["test","suite","tests","key","value","store","cache","ttl"],"author":{"name":"Ritesh Rana","email":"contact@riteshrana.engineer"},"license":"MIT","_id":"@ambicuity/test-suite@1.0.1","maintainers":[{"name":"ambicuity","email":"riteshrana36@gmail.com"}],"dist":{"shasum":"aee511becc3334331d6e776b50ea3eeb81b3de90","tarball":"https://registry.npmjs.org/@ambicuity/test-suite/-/test-suite-1.0.1.tgz","fileCount":7,"integrity":"sha512-34YYbwSvzXjcuhIe/rCea0yPaGoKtuVNdiDlBTtCXPk67n0vAw0SD2fRnJzdTouLhXs7WVCajeV+8Pv0BucveQ==","signatures":[{"sig":"MEQCIHXDY/5VNpdxUSNkgdlnBN3W3P80t41p9SIaQFKuMDWXAiAgoaSAz8T6Jgs0d+VQ7v0qGX7B4Wh/YqjMxcinpquUZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124814},"main":"./dist/index.mjs","type":"module","_from":"file:ambicuity-test-suite-1.0.1.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"biome check --write --error-on-warnings","test":"pnpm lint && vitest run --coverage","build":"tsdown","clean":"rimraf ./node_modules ./coverage ./dist ./test/testdb.sqlite","lint:ci":"biome check --error-on-warnings","test:ci":"pnpm lint:ci && vitest --run --sequence.setupFiles=list --coverage"},"_npmUser":{"name":"ambicuity","email":"riteshrana36@gmail.com"},"_resolved":"/private/var/folders/tc/9srvxb_11h5bpdgnjy16lbqr0000gn/T/2bd1d5a67300f9d728e8bf1429b950b7/ambicuity-test-suite-1.0.1.tgz","_integrity":"sha512-34YYbwSvzXjcuhIe/rCea0yPaGoKtuVNdiDlBTtCXPk67n0vAw0SD2fRnJzdTouLhXs7WVCajeV+8Pv0BucveQ==","_npmVersion":"11.12.1","description":"Test suite for Storely API compliancy","directories":{},"_nodeVersion":"25.9.0","dependencies":{"vitest":"^4.0.15","sqlite3":"^5.1.7","timekeeper":"^2.3.1","json-bigint":"^1.0.0","bignumber.js":"^9.3.1","@faker-js/faker":"^10.2.0","@vitest/coverage-v8":"^4.0.15"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.2","lz4-napi":"^2.9.0","@biomejs/biome":"^2.3.8","@types/json-bigint":"^1.0.4"},"peerDependencies":{"@ambicuity/storely-core":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/test-suite_1.0.1_1778543107395_0.6767791792251012","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Deprecated: use @ambicuity/storely instead."},"1.0.2":{"name":"@ambicuity/test-suite","version":"1.0.2","keywords":["test","suite","tests","key","value","store","cache","ttl"],"author":{"name":"Ritesh Rana","email":"contact@riteshrana.engineer"},"license":"MIT","_id":"@ambicuity/test-suite@1.0.2","maintainers":[{"name":"ambicuity","email":"riteshrana36@gmail.com"}],"dist":{"shasum":"dd7c4125becc950906c0ee916b605ba2f4988072","tarball":"https://registry.npmjs.org/@ambicuity/test-suite/-/test-suite-1.0.2.tgz","fileCount":7,"integrity":"sha512-6dm92ZlrE9Lk56B9JWJfvf8p+M26QOljYm4QIPL8uwiypW6NgtWYZ+wj7ea2kuVcl1aagKjsQlrUKXFujJoyww==","signatures":[{"sig":"MEUCIQCF8vaWOTcFI8X19EgKKwZ9fdU0t+7WD1uGp1iZyWahqQIgTexl5fGAzCHulLSzQXVYCnY4Z0EHCyef9wPuLrC2fGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124710},"main":"./dist/index.mjs","type":"module","_from":"file:ambicuity-test-suite-1.0.2.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"biome check --write --error-on-warnings","test":"pnpm lint && vitest run --coverage","build":"tsdown","clean":"rimraf ./node_modules ./coverage ./dist ./test/testdb.sqlite","lint:ci":"biome check --error-on-warnings","test:ci":"pnpm lint:ci && vitest --run --sequence.setupFiles=list --coverage"},"_npmUser":{"name":"ambicuity","email":"riteshrana36@gmail.com"},"_resolved":"/private/var/folders/tc/9srvxb_11h5bpdgnjy16lbqr0000gn/T/aa3ecb65f63a3671b054c760eb746308/ambicuity-test-suite-1.0.2.tgz","_integrity":"sha512-6dm92ZlrE9Lk56B9JWJfvf8p+M26QOljYm4QIPL8uwiypW6NgtWYZ+wj7ea2kuVcl1aagKjsQlrUKXFujJoyww==","_npmVersion":"11.12.1","description":"Test suite for Storely API compliancy","directories":{},"_nodeVersion":"25.9.0","dependencies":{"vitest":"^4.0.15","sqlite3":"^5.1.7","timekeeper":"^2.3.1","json-bigint":"^1.0.0","bignumber.js":"^9.3.1","@faker-js/faker":"^10.2.0","@vitest/coverage-v8":"^4.0.15"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.2","lz4-napi":"^2.9.0","@biomejs/biome":"^2.3.8","@types/json-bigint":"^1.0.4"},"peerDependencies":{"@ambicuity/core":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/test-suite_1.0.2_1778543458774_0.6880616165744071","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Deprecated: use @ambicuity/storely instead."},"1.0.3":{"name":"@ambicuity/test-suite","version":"1.0.3","keywords":["test","suite","tests","key","value","store","cache","ttl"],"author":{"name":"Ritesh Rana","email":"contact@riteshrana.engineer"},"license":"MIT","_id":"@ambicuity/test-suite@1.0.3","maintainers":[{"name":"ambicuity","email":"riteshrana36@gmail.com"}],"dist":{"shasum":"3bfe0107d4e9fa91cf678a8483015817b2d8d5c7","tarball":"https://registry.npmjs.org/@ambicuity/test-suite/-/test-suite-1.0.3.tgz","fileCount":7,"integrity":"sha512-zze8YYI+2QmRcw4f/NNmL9+4+frHt9Te61l4VhwfyXAlt/eLWPNIrnXCEFlItU2wXmj3wUjeSAetiiy6Z+NiZg==","signatures":[{"sig":"MEUCIG/O/YhiZgKYW0qHWcs5lxOyL+ZDXy/gNDI2awgNAVL8AiEAj0YwZnKY0LptgS7D55hp4CugTrMHDrS7qPsqrdth31k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124762},"main":"./dist/index.mjs","type":"module","_from":"file:ambicuity-test-suite-1.0.3.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"biome check --write --error-on-warnings","test":"pnpm lint && vitest run --coverage","build":"tsdown","clean":"rimraf ./node_modules ./coverage ./dist ./test/testdb.sqlite","lint:ci":"biome check --error-on-warnings","test:ci":"pnpm lint:ci && vitest --run --sequence.setupFiles=list --coverage"},"_npmUser":{"name":"ambicuity","email":"riteshrana36@gmail.com"},"_resolved":"/private/var/folders/tc/9srvxb_11h5bpdgnjy16lbqr0000gn/T/33c0a8512785bcc4206a744df2676c3e/ambicuity-test-suite-1.0.3.tgz","_integrity":"sha512-zze8YYI+2QmRcw4f/NNmL9+4+frHt9Te61l4VhwfyXAlt/eLWPNIrnXCEFlItU2wXmj3wUjeSAetiiy6Z+NiZg==","_npmVersion":"11.12.1","description":"Test suite for Storely API compliancy","directories":{},"_nodeVersion":"25.9.0","dependencies":{"vitest":"^4.0.15","sqlite3":"^5.1.7","timekeeper":"^2.3.1","json-bigint":"^1.0.0","bignumber.js":"^9.3.1","@faker-js/faker":"^10.2.0","@vitest/coverage-v8":"^4.0.15"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.2","lz4-napi":"^2.9.0","@biomejs/biome":"^2.3.8","@types/json-bigint":"^1.0.4"},"peerDependencies":{"@ambicuity/ambicore":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/test-suite_1.0.3_1778543862066_0.21499139838528647","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Deprecated: use @ambicuity/storely instead."}},"time":{"created":"2026-05-11T23:24:02.742Z","modified":"2026-05-14T01:27:33.430Z","1.0.0":"2026-05-11T23:24:02.942Z","1.0.1":"2026-05-11T23:45:07.570Z","1.0.2":"2026-05-11T23:50:58.965Z","1.0.3":"2026-05-11T23:57:42.220Z"},"author":{"name":"Ritesh Rana","email":"contact@riteshrana.engineer"},"license":"MIT","keywords":["test","suite","tests","key","value","store","cache","ttl"],"description":"Test suite for Storely API compliancy","maintainers":[{"name":"ambicuity","email":"riteshrana36@gmail.com"}],"readme":"# @ambicuity/test-suite\n\n> Test suite for Storely API compliance\n\nComplete [Vitest](https://vitest.dev/) test suite to test a Storely storage adapter for API compliance.\n\n## Usage\n\n### Install\n\nInstall `vitest`, `storely` and `@ambicuity/test-suite` as development dependencies.\n\n```shell\nnpm install --save-dev vitest storely @ambicuity/test-suite\n```\n\nThen update `storely` and `@ambicuity/test-suite` versions to `*` in `package.json` to ensure you're always testing against the latest version.\n\n### Create Test File\n\n`test.js`\n\n```js\nimport test from 'vitest';\nimport storelyTestSuite from '@ambicuity/test-suite';\nimport Storely from '@ambicuity/ambicore';\nimport StorelyStore from './';\n\nconst store = () => new StorelyStore();\nstorelyTestSuite(test, Storely, store);\n```\n\nWhere `StorelyStore` is your storage adapter.\n\nSet your test script in `package.json` to `vitest`.\n```json\n\"scripts\": {\n  \"test\": \"vitest\"\n}\n```\n\n## Example for Storage Adapters\n\nTake a look at an existing storage adapter using `@ambicuity/test-suite`.\n\n## Testing Compression Adapters\n\nIf you're testing a compression adapter, you can use the `storelyCompressionTests` method instead of `storelyTestSuite`.\n\n```js\nimport test from 'vitest';\nimport { storelyCompressionTests, StorelyGzip } from '@ambicuity/test-suite';\nimport Storely from '@ambicuity/ambicore';\n\nstorelyCompressionTests(test, new StorelyGzip());\n```\n\n## License\n\n[MIT © Ritesh Rana](LICENSE)","readmeFilename":"README.md"}