{"_id":"@digitaldefiance/express-suite-test-utils","_rev":"18-b556adce851fdbaa9198dd3f251133a7","name":"@digitaldefiance/express-suite-test-utils","dist-tags":{"latest":"1.1.2"},"versions":{"1.0.0":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.0","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.0","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"dist":{"shasum":"83cd98dea8da8eb948a31d81460924968d47642d","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.0.tgz","fileCount":10,"integrity":"sha512-vlHIYVDByqfJIM3EaudrTK/BYkxDqEnc5S1lY9Q/rrNv0bcA5QfsKrDvtnosdt3HWEYjMoHdz2KHXFznBGhlHg==","signatures":[{"sig":"MEUCIQDZEWFkcz2wHG75Qbql0SKIcTWawCxrZh7sfsNMjYYC6wIgFFi+t2eU0IdSJxwI0iAPgwtW/eFL6nOgVbGxMV1ykjA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7525},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"fa6e97db41bc7a4ca9dd2c1f0795b3c415362005","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"_npmVersion":"11.6.2","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.19.0","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.0_1762475281824_0.4038085256147852","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.1","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.1","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"dist":{"shasum":"955a05628468bd0af6f4d23cf5ca058f0d9caed8","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.1.tgz","fileCount":14,"integrity":"sha512-ySOWTm9qZMJe6IlG+wdY79h/SKBT16bso+/i8D4DimKm+NE+mlzwQLa5Rb/5wdugAmF7vN0+s/hpljPh2ZhM0g==","signatures":[{"sig":"MEUCIQCXnFeHgwPwPdX18aif2pRnPJsNDk1RDHrGGroVMnNQJQIgQ/9QKopzJzEHPu6B49gareEzF3s4ckSKhsiVbvIEPpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14931},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"fa6e97db41bc7a4ca9dd2c1f0795b3c415362005","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"_npmVersion":"11.6.2","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.19.0","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.1_1762477454385_0.971996583358212","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.2","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.2","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"dist":{"shasum":"cab64b92d8d0ad81b2fbe0ae4bffd859646955d2","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.2.tgz","fileCount":17,"integrity":"sha512-yaCgzYd7qXJoVLuoM4oedXsaIYZypb/Ku9EIZ0VyW5VZfDQOH0xW4jYLgQAwYbavTNLlXChigObzjWI1+RkinQ==","signatures":[{"sig":"MEUCIQCKaQISE6m844NcL0/IzQM1YiSlukHK18t1t08JRkWCyQIgauOA93vRDa427aYvTN59wfm3srA+yjvo9AmpMo3GXdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17079},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"fa6e97db41bc7a4ca9dd2c1f0795b3c415362005","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"_npmVersion":"11.6.2","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.19.0","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.2_1762478265386_0.07517877334140866","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.3","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.3","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"dist":{"shasum":"7f13d051f04a957d90918fa0b89b144d4b5a7f8b","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.3.tgz","fileCount":17,"integrity":"sha512-NSkIafmuBPgDFSUUjNdPG+B0dwrt+UYHVCTufI7jaNZJeHfew6mLZSoHZ5fSdc2Y0rcwCfkM4dsbyw1RwacEUA==","signatures":[{"sig":"MEUCIQCYCJbjNOrD9N0whdvjQHxcrFlmafmYWZSGYNLNGOYqJQIgfwXe+7wsZDJE9tZUTnB0CTJmR9/DJj4qTQhjsUwSHIk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17548},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"fa6e97db41bc7a4ca9dd2c1f0795b3c415362005","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"_npmVersion":"11.6.2","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.19.0","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.3_1762478726815_0.6572628858731182","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.4","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.4","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"dist":{"shasum":"561a575269882be6494af7a0f126db04c23a108c","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.4.tgz","fileCount":20,"integrity":"sha512-YWhkHSpcOe23+5Fljb+62czdooDuLWZjAUpK3gb92CXZc4VTbWUu0580aqV/HeMbdzTCHlnKu9BVQztfdQlYeg==","signatures":[{"sig":"MEQCICNoXvbFT1BV34V/1RPVM3NxR+aCTq0MI4FEAiM34TCYAiAqZwR9sS7DdpJPmGQQ35lG6vOu1BtS/QUnHQEqOssLxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19684},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"dd9738c761ae2e099fd1cf7c81111053f29a6482","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"_npmVersion":"11.6.2","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.19.0","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.4_1762489246703_0.03885886058126742","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.5","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.5","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"dist":{"shasum":"c3f0999a607e0bf05169ed65152dbd0fa078074d","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.5.tgz","fileCount":20,"integrity":"sha512-LJ+vCs5xHK3OXjFl0sNBM1Vg4KsaBPeodHcNNCkAIMt9WlQyDzKfbElqh/x3vQaxPB/QrVwYH5BH1GzSOXJ48A==","signatures":[{"sig":"MEYCIQCZ1MxSNikilLwoUa1u0KIqbkLOtXMBhMWVpWhxlAw9QwIhAOLs5eY1FiA6sIwe7e3ow+sevjiM5zgVZm57EluJJE3Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20295},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"dd9738c761ae2e099fd1cf7c81111053f29a6482","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"_npmVersion":"11.6.2","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.19.0","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.5_1762489754668_0.8610046633074935","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.6","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.6","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"dist":{"shasum":"78c8b4c7aa337178be345f1b1156ce21e8f72495","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.6.tgz","fileCount":23,"integrity":"sha512-N64OYDXsoRvq00OUot4Wzaze5uG6ykxAUMrzd6mLgkYD64gGz+uEatvQO9VhExqYEUi1f2X1UL/3AQdHnSd3hw==","signatures":[{"sig":"MEYCIQCmq2yjptes/ukta+K4ybzaCaaO3EjcFWyWrWg6bOeb+wIhAN4EvgGeat7rV6XI0UnD2vp68SvbfDQJEAxb39QZMmsN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22049},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"dd9738c761ae2e099fd1cf7c81111053f29a6482","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"_npmVersion":"11.6.2","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.19.0","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.6_1762491000403_0.9667706674057257","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.7","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.7","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"dist":{"shasum":"cec463d7a63cf565bb933eed108c5c4c100ec007","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.7.tgz","fileCount":23,"integrity":"sha512-a8LktuwtMyOtiGPvC1HkQmuXpIyKHxCsmB5fu5dVJG+1C6dGCZ35lKLqmO8kkwKAaRAjCv4eqSeqSXpeDz6HXw==","signatures":[{"sig":"MEUCIBi9D/LYlBgB0CUMMY743dv4ebFmC3fK//9NIfQFS+cNAiEAuxqctRkAJFNfX75j/KjDi7lVpnbuQmv5aw3+LMKR1XY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22658},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"e65b8c0ed727fb40620376d313494bca312e027a","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"_npmVersion":"11.6.2","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.19.0","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.7_1762563247714_0.43860109976331163","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.8","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.8","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"dist":{"shasum":"5c590edfaa26f6300017243f6730abe8e07edb50","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.8.tgz","fileCount":26,"integrity":"sha512-8hBdHp0Is5dfPnUfhc8cUPlQbmp3fwT57oaYOCrW2MhnrjhsmLfIY/WYgNeBb3K2jqM4QTJnLOKAhi+NPYrcBg==","signatures":[{"sig":"MEUCIQCm2vjtJKf41NpK4avk+o9QdtAM2RgVsTrxOZ9PJZUysgIgVgOjtTOZuVbomnfZR3zj/m+hqt+vR9kHpmAkb79SYSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27114},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"6d481202e770bfaf10f543ec285a6e937c4315a0","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"_npmVersion":"10.9.4","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.21.1","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.8_1762973745495_0.90164755160168","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.9","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.9","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"dist":{"shasum":"f85d55eb97219e5cb73812d01262e18064292d7f","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.9.tgz","fileCount":29,"integrity":"sha512-EmI6efEpVbrMeJZOAhZfgyzX2oW3aD4T46C8Pjf8dObEqmeHwk0nnpqmfk7Wgmp/n42vEOWGVpEukYQsXrOtIg==","signatures":[{"sig":"MEYCIQDwuMKd38f4hZZgvSW7esjt8lEvCQay5ICaHs8nO//ImwIhALu9RC/1Bq9ydm4MJfWRDC4eEsnR8FsuQ1zGOlx7+8qL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30364},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"6d481202e770bfaf10f543ec285a6e937c4315a0","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"_npmVersion":"10.9.4","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.21.1","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5","mongodb-memory-server":"^10.1.3"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"mongoose":"^8.9.3","@types/node":"^22.0.0"},"peerDependencies":{"mongoose":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.9_1763087704737_0.9927090226131243","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.10","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.10","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"dist":{"shasum":"197806efd80acf9c1410b0dcd34dc9f564e8d2c0","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.10.tgz","fileCount":29,"integrity":"sha512-5Hagq81jQJxTH53qfjgzPifiieH6NCKNyzCvEsoxbFN261jY0metX7Fi8o0QNBwPWRWfktz725kDlzk9C9by5Q==","signatures":[{"sig":"MEUCIEQEkeop+hHxF15WvAB3+EzqAJdGw4z5fcafqjarrAP0AiEAhuhJdUz00yJrgwTgfuQm8NlEe+9gyi/Q8ykYveGBnZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32841},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"6d481202e770bfaf10f543ec285a6e937c4315a0","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"_npmVersion":"10.9.4","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.21.1","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5","mongodb-memory-server":"^10.1.3"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"mongoose":"^8.9.3","@types/node":"^22.0.0"},"peerDependencies":{"mongoose":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.10_1763151150075_0.5662161519756557","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.11","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.11","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"dist":{"shasum":"84bd73ab79692cdb5c5654dafc13219aacda1485","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.11.tgz","fileCount":29,"integrity":"sha512-hFsPgxetOO9/kpGvU4nhJlsDyOwaHS8YKe8ujuIzdac+nB21UNJNjDwrihy4J8bbBTX19zgIh5fk/mLHcByDnQ==","signatures":[{"sig":"MEYCIQDj3jed/ZOndrdVp+2hBvEFVa+zDOYm6XfhCP2oNpYzbAIhAIwFhdf2AcbuJizus3LnKqh9u4n9yxX/noxER39/9Wcd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37822},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"f44f3a84f230c2abd7ddf6a7adebc2e6f66b0c5b","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"_npmVersion":"11.6.3","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.21.1","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5","mongodb-memory-server":"^10.1.3"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"mongoose":"^8.9.3","@types/node":"^22.0.0"},"peerDependencies":{"mongoose":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.11_1764128590499_0.9873143388809784","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.12","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.12","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"homepage":"https://github.com/Digital-Defiance/test-utils","bugs":{"url":"https://github.com/Digital-Defiance/test-utils/issues"},"dist":{"shasum":"204ee9a2d5ae929af3af827f90111d5cdafc7559","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.12.tgz","fileCount":39,"integrity":"sha512-momnQhz7FtytWEOVa4GpHkXmhwSSzYfzGG9tcGq9yPVVVfd5sVjw0Zz80j42U9a0jP2HHYsJqTlB+nWYyhNH/A==","signatures":[{"sig":"MEUCIGxmFHug6mdLFdu7O5gz+CfGXX69M3kIN18KQ6UJxKSFAiEAzjvIfbSMTrt8VcjUR/jo7gm/knvkoNmMNoY57/hl1QY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53992},"main":"src/index.js","types":"src/index.d.ts","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"repository":{"url":"git+https://github.com/Digital-Defiance/test-utils.git","type":"git"},"_npmVersion":"11.6.3","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.21.1","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5","mongodb-memory-server":"^10.1.3"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"mongoose":"^8.9.3","@types/node":"^22.0.0"},"peerDependencies":{"mongoose":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.12_1765264010330_0.8094250138876617","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.13","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.13","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"homepage":"https://github.com/Digital-Defiance/test-utils","bugs":{"url":"https://github.com/Digital-Defiance/test-utils/issues"},"dist":{"shasum":"aed3b5de4b75d358e612f525e2ceb06c835c2f97","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.13.tgz","fileCount":29,"integrity":"sha512-xf1DWJs9mXYTFlVzH+JHWR6lXjuK4O+rlJhaEUx07zsduLRrZjpaMRrypukt6ntKI3gB46rDmTUUnrl/yP3zRA==","signatures":[{"sig":"MEYCIQC+ak61h3u0pr/A2fuPUqeZPUf+aIDrbUzGULecAsyhPQIhAIB0aL1iSxylBEWJ2mNsY5J/36kQlT/D6+D6k2QR8JcV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38119},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"a786f76f41dec24ce1826adfd4e19b83bf9eb5ae","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"repository":{"url":"git+https://github.com/Digital-Defiance/test-utils.git","type":"git"},"_npmVersion":"11.6.3","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.21.1","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5","mongodb-memory-server":"^10.1.3"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"mongoose":"^8.9.3","@types/node":"^22.0.0"},"peerDependencies":{"mongoose":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.13_1765990412252_0.4982751259968663","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.0.14","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.0.14","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"homepage":"https://github.com/Digital-Defiance/test-utils","bugs":{"url":"https://github.com/Digital-Defiance/test-utils/issues"},"dist":{"shasum":"f2424438e0dbd1c3de95a679e7ecc144cbe0ebb0","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.0.14.tgz","fileCount":29,"integrity":"sha512-AMRwkf/8jxnfIFLIq86NskbdclEMfyF9kwhl34Y4QyEeiR6v1aKBVXMoxtU4Bue9r89Yeq/ZYE2ufxDggsMw8Q==","signatures":[{"sig":"MEQCIGvBqfkh/t1vXHQqKDA5H6mKByuXzkhr/hppezR633h2AiA9tqqtzpAp+OchE3scTY+jrQnvEEOq1T/A1t8ZQ0vJ9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38268},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"8109c197f39b996067644470e8ef23b3a789eb82","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"repository":{"url":"git+https://github.com/Digital-Defiance/test-utils.git","type":"git"},"_npmVersion":"11.6.3","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.21.1","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5","mongodb-memory-server":"^10.1.3"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"mongoose":"^8.9.3","@types/node":"^22.0.0"},"peerDependencies":{"mongoose":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.0.14_1766455814330_0.7858281648698842","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.1.0","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.1.0","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"homepage":"https://github.com/Digital-Defiance/test-utils","bugs":{"url":"https://github.com/Digital-Defiance/test-utils/issues"},"dist":{"shasum":"6c80766e6c169ddd7dfe4346fb87c261c245140d","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.1.0.tgz","fileCount":32,"integrity":"sha512-xfaHmR21iaWPp1tDi5pcDDSBEq+D6xCy77HF6CEEKKg0ZSwgipxzqnWB5voM66fv127efQ/1i0/J9Q+zDHMW7g==","signatures":[{"sig":"MEQCIAgpOkC2BCZqpG+Tnrk6uFef9doRTb8c1oOi/BcDFsf3AiA0ITQijYPikjxnJtd3pMumFN9SwvNgXLjSGjyjs7JXBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44505},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"eb13f5a86e5a539eb6cce8146808bd657b854fad","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"repository":{"url":"git+https://github.com/Digital-Defiance/test-utils.git","type":"git"},"_npmVersion":"10.9.4","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.22.0","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5","mongodb-memory-server":"^10.1.3"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"mongoose":"^8.9.3","@types/node":"^22.0.0"},"peerDependencies":{"mongoose":"^8.0.0"},"peerDependenciesMeta":{"@digitaldefiance/ecies-lib":{"optional":true},"@digitaldefiance/node-ecies-lib":{"optional":true},"@digitaldefiance/suite-core-lib":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.1.0_1770409163698_0.8761051196747283","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.1.1","keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","_id":"@digitaldefiance/express-suite-test-utils@1.1.1","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"homepage":"https://github.com/Digital-Defiance/test-utils","bugs":{"url":"https://github.com/Digital-Defiance/test-utils/issues"},"dist":{"shasum":"178415bfd577f6ebba9b8804f611caeb7b14e556","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.1.1.tgz","fileCount":32,"integrity":"sha512-5Lzlv1LcPASKHKDSgrxZUEDnc7lGaGJKU/sBR7pBXoOKRoOPvIqm/zZRfkOK3tJcVezD4hAoGKWtDv0hEweRMQ==","signatures":[{"sig":"MEQCIFJMhSXX3+fUfyzL28eOS4waLHKbgvcozTQ2pbJC7zRAAiA/feN5XzWW6z7AoWixBBjOVs60H/VecKzVFnmGSuJlrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45791},"main":"src/index.js","type":"commonjs","types":"src/index.d.ts","gitHead":"851a9edb9eb663e7307f73704bf788389a44b24b","scripts":{"lint":"npx nx lint digitaldefiance-express-suite-test-utils","test":"npx nx test digitaldefiance-express-suite-test-utils","build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","publish:public":"npm publish --access public"},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"repository":{"url":"git+https://github.com/Digital-Defiance/test-utils.git","type":"git"},"_npmVersion":"10.9.4","description":"Test utilities for Digital Defiance Express Suite","directories":{},"_nodeVersion":"22.22.0","dependencies":{"expect":"^30.0.5","@types/jest":"^30.0.0","@jest/globals":"^30.0.5","mongodb-memory-server":"^10.1.3"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"mongoose":"^8.9.3","@types/node":"^22.0.0"},"peerDependencies":{"mongoose":"^8.0.0"},"peerDependenciesMeta":{"@digitaldefiance/ecies-lib":{"optional":true},"@digitaldefiance/node-ecies-lib":{"optional":true},"@digitaldefiance/suite-core-lib":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express-suite-test-utils_1.1.1_1770584770763_0.6288850157195012","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@digitaldefiance/express-suite-test-utils","version":"1.1.2","homepage":"https://github.com/Digital-Defiance/test-utils","repository":{"type":"git","url":"git+https://github.com/Digital-Defiance/test-utils.git"},"description":"Test utilities for Digital Defiance Express Suite","main":"src/index.js","types":"src/index.d.ts","scripts":{"build":"npx nx build digitaldefiance-express-suite-test-utils && npx nx run digitaldefiance-express-suite-test-utils:postbuild","build:stream":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils","build:logged":"npx nx build --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o build.log","test":"npx nx test digitaldefiance-express-suite-test-utils","test:stream":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils","test:logged":"npx nx test --outputStyle=stream digitaldefiance-express-suite-test-utils 2>&1 | ansifilter -o test.log","test:coverage":"npx jest --coverage --testPathPattern=digitaldefiance-express-suite-test-utils --coverageReporters=text","lint":"npx nx lint digitaldefiance-express-suite-test-utils","lint:fix":"npx nx lint digitaldefiance-express-suite-test-utils --fix","prettier:check":"prettier --check 'src/**/*.{ts,tsx}'","prettier:fix":"prettier --write 'src/**/*.{ts,tsx}'","format":"npx nx format:write --projects=digitaldefiance-express-suite-test-utils","format:check":"npx nx format:check --projects=digitaldefiance-express-suite-test-utils","prepublishOnly":"npx nx build digitaldefiance-express-suite-test-utils","publish:public":"npm publish --access public"},"keywords":["test","jest","typescript","utilities"],"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","packageManager":"yarn@4.10.3","dependencies":{"@jest/globals":"^30.0.5","@types/jest":"^30.0.0","expect":"^30.0.5","mongodb-memory-server":"^10.1.3"},"peerDependencies":{"mongoose":"^8.0.0"},"peerDependenciesMeta":{"@digitaldefiance/ecies-lib":{"optional":true},"@digitaldefiance/node-ecies-lib":{"optional":true},"@digitaldefiance/suite-core-lib":{"optional":true}},"devDependencies":{"@types/node":"^22.0.0","mongoose":"^8.9.3"},"type":"commonjs","gitHead":"ca1ea6290b4e2a26156a1e2c301ff28bfb9342b3","_id":"@digitaldefiance/express-suite-test-utils@1.1.2","bugs":{"url":"https://github.com/Digital-Defiance/test-utils/issues"},"_nodeVersion":"22.22.1","_npmVersion":"11.11.1","dist":{"integrity":"sha512-pJCsIEZ011b4iUqFITckB/xfGL2n5p2Zx80sJHxvCjcIR0OnOL5UpMqbl9QY1TWXj4vL0AzFp73MIoGu8PogJw==","shasum":"58b92dec6a7a3a2a1ba121ab91239dace0e20420","tarball":"https://registry.npmjs.org/@digitaldefiance/express-suite-test-utils/-/express-suite-test-utils-1.1.2.tgz","fileCount":32,"unpackedSize":46419,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDZYxdEqoU8VaifhVc1kkqs/AKJtY9tWGUk/TxsTpoFiAIgDlCtsyLqPFyEVWeTspm5m47S/Q7n+l13RNnrpofJN68="}]},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"directories":{},"maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-suite-test-utils_1.1.2_1774399693861_0.8589049081775586"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-07T00:28:01.704Z","modified":"2026-03-25T00:48:14.159Z","1.0.0":"2025-11-07T00:28:02.009Z","1.0.1":"2025-11-07T01:04:14.574Z","1.0.2":"2025-11-07T01:17:45.632Z","1.0.3":"2025-11-07T01:25:27.006Z","1.0.4":"2025-11-07T04:20:46.879Z","1.0.5":"2025-11-07T04:29:14.875Z","1.0.6":"2025-11-07T04:50:00.603Z","1.0.7":"2025-11-08T00:54:07.904Z","1.0.8":"2025-11-12T18:55:45.700Z","1.0.9":"2025-11-14T02:35:04.954Z","1.0.10":"2025-11-14T20:12:30.298Z","1.0.11":"2025-11-26T03:43:10.695Z","1.0.12":"2025-12-09T07:06:50.503Z","1.0.13":"2025-12-17T16:53:32.394Z","1.0.14":"2025-12-23T02:10:14.487Z","1.1.0":"2026-02-06T20:19:24.043Z","1.1.1":"2026-02-08T21:06:10.956Z","1.1.2":"2026-03-25T00:48:14.018Z"},"bugs":{"url":"https://github.com/Digital-Defiance/test-utils/issues"},"author":{"name":"Digital Defiance, Jessica Mulein"},"license":"MIT","homepage":"https://github.com/Digital-Defiance/test-utils","keywords":["test","jest","typescript","utilities"],"repository":{"type":"git","url":"git+https://github.com/Digital-Defiance/test-utils.git"},"description":"Test utilities for Digital Defiance Express Suite","maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"readme":"# @digitaldefiance/express-suite-test-utils\n\nTest utilities for Digital Defiance Express Suite projects.\n\nPart of [Express Suite](https://github.com/Digital-Defiance/express-suite)\n\n## Installation\n\n```bash\nnpm install @digitaldefiance/express-suite-test-utils\n# or\nyarn add @digitaldefiance/express-suite-test-utils\n```\n\n## Usage\n\n### Importing Test Utilities from Express Suite Packages\n\nTest helpers and mocks are available via separate `/testing` entry points:\n\n```typescript\n// node-express-suite test helpers\nimport { \n  createApplicationMock,\n  setupTestEnv\n} from '@digitaldefiance/node-express-suite/testing';\n\n// node-ecies-lib test mocks\nimport { mockBackendMember } from '@digitaldefiance/node-ecies-lib/testing';\n\n// ecies-lib test mocks\nimport { mockFrontendMember } from '@digitaldefiance/ecies-lib/testing';\n\n// Use in your tests\nbeforeAll(async () => {\n  await setupTestEnv();\n});\n```\n\n**Note:** All `/testing` entry points require `@faker-js/faker` as a peer dependency:\n\n```bash\nnpm install -D @faker-js/faker\n# or\nyarn add -D @faker-js/faker\n```\n\n### toThrowType Matcher\n\nCustom Jest matcher for testing error types with optional validation:\n\n```typescript\nimport '@digitaldefiance/express-suite-test-utils';\n\nclass CustomError extends Error {\n  constructor(public code: number) {\n    super('Custom error');\n  }\n}\n\n// Basic usage\nexpect(() => {\n  throw new CustomError(404);\n}).toThrowType(CustomError);\n\n// With validator\nexpect(() => {\n  throw new CustomError(404);\n}).toThrowType(CustomError, (error) => {\n  expect(error.code).toBe(404);\n});\n```\n\n### ErrorClass Type\n\n```typescript\nimport { ErrorClass } from '@digitaldefiance/express-suite-test-utils';\n\nfunction testError<E extends Error>(ErrorType: ErrorClass<E>) {\n  // Use ErrorType constructor\n}\n```\n\n### Console Mocks\n\nMock console methods in tests:\n\n```typescript\nimport { withConsoleMocks, spyContains } from '@digitaldefiance/express-suite-test-utils';\n\nit('should log message', async () => {\n  await withConsoleMocks({ mute: true }, async (spies) => {\n    console.log('test message');\n    expect(spies.log).toHaveBeenCalledWith('test message');\n    expect(spyContains(spies.log, 'test', 'message')).toBe(true);\n  });\n});\n```\n\n### Direct Log Mocks\n\nMock `fs.writeSync` for testing direct console output:\n\n```typescript\nimport { withDirectLogMocks, directLogContains, getDirectLogMessages } from '@digitaldefiance/express-suite-test-utils';\nimport * as fs from 'fs';\n\n// Important: Mock fs module at module level before importing\njest.mock('fs', () => ({\n  ...jest.requireActual('fs'),\n  writeSync: jest.fn(),\n}));\n\nit('should capture direct writes to stdout', async () => {\n  await withDirectLogMocks({ mute: true }, async (spies) => {\n    const buffer = Buffer.from('hello world\\n', 'utf8');\n    fs.writeSync(1, buffer); // stdout\n    \n    expect(directLogContains(spies.writeSync, 1, 'hello', 'world')).toBe(true);\n    expect(getDirectLogMessages(spies.writeSync, 1)).toEqual(['hello world\\n']);\n  });\n});\n```\n\n### Mongoose Memory Database\n\nIn-memory MongoDB testing utilities using mongodb-memory-server:\n\n```typescript\nimport { connectMemoryDB, disconnectMemoryDB, clearMemoryDB } from '@digitaldefiance/express-suite-test-utils';\nimport { User } from './models/user';\n\ndescribe('User model', () => {\n  beforeAll(async () => {\n    await connectMemoryDB();\n  });\n\n  afterAll(async () => {\n    await disconnectMemoryDB();\n  });\n\n  afterEach(async () => {\n    await clearMemoryDB();\n  });\n\n  it('should validate user schema', async () => {\n    const user = new User({ username: 'test', email: 'test@example.com' });\n    await user.validate(); // Real Mongoose validation!\n    \n    await expect(async () => {\n      const invalid = new User({ username: 'ab' }); // too short\n      await invalid.validate();\n    }).rejects.toThrow();\n  });\n});\n```\n\n**Note:** Requires `mongoose` as a peer dependency and `mongodb-memory-server` as a dependency (already included).\n\n## Testing Approach\n\nThis package provides comprehensive testing utilities for Express Suite projects, including custom Jest matchers, console mocks, database helpers, and more.\n\n### Test Utilities Overview\n\n**Custom Matchers**: `toThrowType` for type-safe error testing  \n**Console Mocks**: Mock and spy on console methods  \n**Direct Log Mocks**: Mock `fs.writeSync` for stdout/stderr testing  \n**Database Helpers**: MongoDB Memory Server integration  \n**React Mocks**: Mock React components and hooks\n\n### Usage Patterns\n\n#### Using toThrowType Matcher\n\n```typescript\nimport '@digitaldefiance/express-suite-test-utils';\n\nclass CustomError extends Error {\n  constructor(public code: number) {\n    super('Custom error');\n  }\n}\n\ndescribe('Error Testing', () => {\n  it('should throw specific error type', () => {\n    expect(() => {\n      throw new CustomError(404);\n    }).toThrowType(CustomError);\n  });\n\n  it('should validate error properties', () => {\n    expect(() => {\n      throw new CustomError(404);\n    }).toThrowType(CustomError, (error) => {\n      expect(error.code).toBe(404);\n    });\n  });\n});\n```\n\n#### Using Console Mocks\n\n```typescript\nimport { withConsoleMocks, spyContains } from '@digitaldefiance/express-suite-test-utils';\n\ndescribe('Console Output', () => {\n  it('should capture console.log', async () => {\n    await withConsoleMocks({ mute: true }, async (spies) => {\n      console.log('test message');\n      \n      expect(spies.log).toHaveBeenCalledWith('test message');\n      expect(spyContains(spies.log, 'test', 'message')).toBe(true);\n    });\n  });\n\n  it('should capture console.error', async () => {\n    await withConsoleMocks({ mute: true }, async (spies) => {\n      console.error('error message');\n      \n      expect(spies.error).toHaveBeenCalledWith('error message');\n    });\n  });\n});\n```\n\n#### Using Direct Log Mocks\n\n```typescript\nimport { withDirectLogMocks, directLogContains, getDirectLogMessages } from '@digitaldefiance/express-suite-test-utils';\nimport * as fs from 'fs';\n\n// Mock fs at module level\njest.mock('fs', () => ({\n  ...jest.requireActual('fs'),\n  writeSync: jest.fn(),\n}));\n\ndescribe('Direct Logging', () => {\n  it('should capture stdout writes', async () => {\n    await withDirectLogMocks({ mute: true }, async (spies) => {\n      const buffer = Buffer.from('hello world\\n', 'utf8');\n      fs.writeSync(1, buffer); // stdout\n      \n      expect(directLogContains(spies.writeSync, 1, 'hello', 'world')).toBe(true);\n      expect(getDirectLogMessages(spies.writeSync, 1)).toEqual(['hello world\\n']);\n    });\n  });\n});\n```\n\n#### Using MongoDB Memory Server\n\n```typescript\nimport { connectMemoryDB, disconnectMemoryDB, clearMemoryDB } from '@digitaldefiance/express-suite-test-utils';\nimport { User } from './models/user';\n\ndescribe('Database Tests', () => {\n  beforeAll(async () => {\n    await connectMemoryDB();\n  });\n\n  afterAll(async () => {\n    await disconnectMemoryDB();\n  });\n\n  afterEach(async () => {\n    await clearMemoryDB();\n  });\n\n  it('should validate user schema', async () => {\n    const user = new User({ \n      username: 'test', \n      email: 'test@example.com' \n    });\n    \n    await user.validate(); // Real Mongoose validation!\n    await user.save();\n    \n    const found = await User.findOne({ username: 'test' });\n    expect(found).toBeDefined();\n  });\n\n  it('should reject invalid data', async () => {\n    const invalid = new User({ username: 'ab' }); // too short\n    \n    await expect(invalid.validate()).rejects.toThrow();\n  });\n});\n```\n\n### Testing Best Practices\n\n1. **Always clean up** after tests (disconnect DB, restore mocks)\n2. **Use memory database** for fast, isolated tests\n3. **Mock external dependencies** to avoid side effects\n4. **Test error conditions** with `toThrowType` matcher\n5. **Capture console output** when testing logging behavior\n\n### i18n Test Setup\n\nInitialize i18n engines for testing error messages and translations:\n\n```typescript\nimport { setupI18nForTests } from '@digitaldefiance/express-suite-test-utils';\n\ndescribe('Service Tests', () => {\n  let cleanupI18n: () => void;\n\n  beforeAll(() => {\n    // Initializes all available i18n engines (suite-core, ecies, node-ecies)\n    cleanupI18n = setupI18nForTests();\n  });\n\n  afterAll(() => {\n    cleanupI18n();\n  });\n\n  it('should throw translated error', async () => {\n    // Error classes now have i18n translations available\n    await expect(service.doSomething()).rejects.toBeInstanceOf(SomeError);\n  });\n});\n```\n\nFor selective initialization:\n\n```typescript\nimport { setupSpecificI18nForTests } from '@digitaldefiance/express-suite-test-utils';\n\nbeforeAll(() => {\n  // Only initialize specific engines\n  cleanupI18n = setupSpecificI18nForTests(['suite-core', 'ecies']);\n});\n```\n\n**Note:** This helper dynamically loads i18n libraries if available. No hard dependencies are required - it gracefully skips any libraries not installed in your project.\n\n### Cross-Package Testing\n\nThese utilities are designed to work seamlessly with all Express Suite packages:\n\n```typescript\nimport { connectMemoryDB, disconnectMemoryDB } from '@digitaldefiance/express-suite-test-utils';\nimport { Application } from '@digitaldefiance/node-express-suite';\nimport { UserService } from '@digitaldefiance/node-express-suite';\n\ndescribe('Integration Tests', () => {\n  let app: Application;\n\n  beforeAll(async () => {\n    await connectMemoryDB();\n    app = new Application({\n      mongoUri: global.__MONGO_URI__,\n      jwtSecret: 'test-secret'\n    });\n  });\n\n  afterAll(async () => {\n    await app.stop();\n    await disconnectMemoryDB();\n  });\n\n  it('should create and find user', async () => {\n    const userService = new UserService(app);\n    const user = await userService.create({\n      username: 'alice',\n      email: 'alice@example.com'\n    });\n    \n    const found = await userService.findByUsername('alice');\n    expect(found).toBeDefined();\n  });\n});\n```\n\n## License\n\nMIT\n\n## ChangeLog\n\n### v2.1.37\n\n- Version sync tag (out of sequence with v1.x line). Removed mongoose, i18n, and direct-log modules; stripped peer dependencies. Package version reset to 1.0.7 in package.json.\n\n### v1.1.1\n\n- Add `createI18nSetup` factory integration tests covering full monorepo dependency chain\n- README and jest config updates\n\n### v1.1.0\n\n- Add `setupI18nForTests()` helper for initializing i18n engines in tests\n- Add `setupSpecificI18nForTests()` for selective engine initialization\n- Uses dynamic loading to avoid dependency cycles\n\n### v1.0.14\n\n- Increase MongoMemoryServer launch timeout for slow CI environments\n\n### v1.0.13\n\n- ESLint config and code style cleanup (trailing commas, whitespace, `any` → `unknown`)\n- Add `@typescript-eslint/no-namespace` eslint-disable comments for jest global declarations\n- Dependency updates\n\n### v1.0.11\n\n- Fix mongoose to use @digitaldefiance/mongoose-types\n\n### v1.0.10\n\n- Fix direct-log mocks to work with non-configurable fs.writeSync in newer Node.js versions\n- Add comprehensive mongoose memory database testing utilities\n- Fix memory mongoose connectMemoryDB\n\n\n### v1.0.9\n\n- Add mongoose memory helpers\n\n### v1.0.8\n\n- Add directLog mocks\n\n### v1.0.6\n\n- Add react mocks\n\n### v1.0.5\n\n- Add secp256k to BSON mock\n\n### v1.0.4\n\n- Add BSON mock\n\n### v1.0.3\n\n- Add jest global declaration for toThrowType\n\n### v1.0.2\n\n- Add LocalStorageMock\n\n### v1.0.1\n\n- Bugfix release, fixing lack of js files in tarball\n\n### v1.0.0\n\n- Initial Release\n","readmeFilename":"README.md"}