{"_id":"vitest-mock-express","_rev":"5-5f15f2111b22cb233ebb4188282276fd","name":"vitest-mock-express","dist-tags":{"latest":"2.2.0"},"versions":{"2.0.1":{"name":"vitest-mock-express","version":"2.0.1","description":"A lightweight Vitest mock for unit testing Express","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"vitest --coverage","test-verbose":"vitest --coverage --verbose","test-watch":"vitest \"/*.ts\" --watchAll","test-watch-all":"vitest --watchAll","lint":"tsc --noEmit && eslint '*/**/*.{js,ts}' --quiet --fix","build":"tsc","clean":"rm -rf dist/*","prepublishOnly":"npm ci && npm run clean && npm run build","release":"npm run prepublishOnly && npm run lint && npm run test","ci":"npm run release --verbose"},"repository":{"type":"git","url":"git+https://github.com/eagleera/vitest-mock-express.git"},"keywords":["test","testing","mock","mocking","vitest","express","expressjs","controller","ts","typescript"],"author":{"name":"bikk-uk"},"license":"MIT","bugs":{"url":"https://github.com/eagleera/vitest-mock-express/issues"},"homepage":"https://github.com/eagleera/vitest-mock-express#readme","devDependencies":{"@typescript-eslint/eslint-plugin":"^5.27.1","@typescript-eslint/parser":"^5.27.1","@vitest/coverage-c8":"^0.26.2","eslint":"^8.17.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","prettier":"^2.6.2","typescript":"^4.7.3"},"dependencies":{"@types/express":"^4.17.13","vitest":"^0.26.2"},"snyk":true,"gitHead":"48ed9ad61c1f7e08fa3155a9bfd01acc851f4b92","_id":"vitest-mock-express@2.0.1","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-ryBKNO9tOKb5qKSZLktajidBGm1+y4ytqc2eEzDZLMtuiQJZL5pPnVwUcJRNUPYmSWO8CX5GmA7c/bbpMx8DUg==","shasum":"eac5e5d5e4552a7d14f396b42ac339883161b5ec","tarball":"https://registry.npmjs.org/vitest-mock-express/-/vitest-mock-express-2.0.1.tgz","fileCount":137,"unpackedSize":537727,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGzxbFmDNm0j7h5jmWS7GsVLapc27ywYwveeKTArdnR3AiEAqp8yx3YLb2Ys39h45YXN0U7kMf3lgUSyRE9qy+Q3vpc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrK4lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYgQ/9EnBAd/EAswIdoD6cJ59FALR8aHJlgzJkY4/cFWj9eO2rqPEz\r\nJ7YFImk03fqwmLec8Jb1Efn+SXfi+jTfCowscOgWSHLCJESFYPERSkQ/ka6W\r\nV5v2LU1Qa3PBc12DOfXqKwGWdDtir25pfb/QtUVin0n1ivBmAkMCigeLAWle\r\nZvS+X8cPePchsGFSN5S1Z1B//LxDTogS0iigRbcSYnfDx9qVqx1uxVshSrnC\r\nlrlhsXGVkU0sAi7C1QtoGRGXjXsA+mVaOHzIxTNXVbiRQazrpLiU6vP84Jhw\r\nYpFVFBeXN545QXmDLr5WjguHVMsQbRg6fLeWb6TowdgWFaiKj1RXk+qj2Hfb\r\nwniZz9gcU0wrWeMFIyaBJVFCxfMZwkPWirp+Z0W9AsBKSCvnBlxn51YD2NxG\r\nSfJ4urc0ssdk+460QQxT0yolYcL5BlUDyYq6wnCfETimJ5icg00Nrt4YIp4h\r\nnHluIzLHwAgbZY0a+Z39JfU/fUobipzFuPffjAAPoYpoUyNPuZDdACh1xEW2\r\nixTBFv7savb27v6AieVrrKMGtkoldUd7/v5fwsTfM4Fj+zuz+8sMRnhdLpkc\r\nKj8GmihLCuTPZDwssLtBm5JE3c5iHJJcLKsDKVatoKicIV/O3K9cf+KXBNuk\r\nwuRI/Apvvz6kLyrQkk7GrFheGMmfPUvTBuA=\r\n=R6Ns\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"daguilera","email":"daguilera3220@gmail.com"},"directories":{},"maintainers":[{"name":"daguilera","email":"daguilera3220@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vitest-mock-express_2.0.1_1672261157703_0.3326887911608558"},"_hasShrinkwrap":false},"2.0.2":{"name":"vitest-mock-express","version":"2.0.2","description":"A lightweight Vitest mock for unit testing Express","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"vitest --coverage","test-verbose":"vitest --coverage --verbose","test-watch":"vitest \"/*.ts\" --watchAll","test-watch-all":"vitest --watchAll","lint":"tsc --noEmit && eslint '*/**/*.{js,ts}' --quiet --fix","build":"tsc","clean":"rm -rf dist/*","prepublishOnly":"npm ci && npm run clean && npm run build","release":"npm run prepublishOnly && npm run lint && npm run test","ci":"npm run release --verbose"},"repository":{"type":"git","url":"git+https://github.com/eagleera/vitest-mock-express.git"},"keywords":["test","testing","mock","mocking","vitest","express","expressjs","controller","ts","typescript"],"author":{"name":"bikk-uk"},"license":"MIT","bugs":{"url":"https://github.com/eagleera/vitest-mock-express/issues"},"homepage":"https://github.com/eagleera/vitest-mock-express#readme","devDependencies":{"@typescript-eslint/eslint-plugin":"^5.27.1","@typescript-eslint/parser":"^5.27.1","@vitest/coverage-c8":"^0.26.2","eslint":"^8.17.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","prettier":"^2.6.2","typescript":"^4.7.3","vitest":"^0.26.2"},"dependencies":{"@types/express":"^4.17.13"},"gitHead":"b64c99621428238e382dd67c5ee32caad19c1877","_id":"vitest-mock-express@2.0.2","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-iE79VSDISeSkVrRnmBGSaKKeHVW8nw6MpngFRcodBwNbAZIos8klshzIvB+rlNCpGyuRFhByylp0odL09JT3Yg==","shasum":"f40c7ba635768e08df86c2ab9c35edebd94a805d","tarball":"https://registry.npmjs.org/vitest-mock-express/-/vitest-mock-express-2.0.2.tgz","fileCount":138,"unpackedSize":537110,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDy8JWtq2iKZqsPR4wcdvuxusHoINqGpWKElSDZjMvbgwIgNbB4pTyqq1iKx5wsum0xWhO4SL/vrHvWhwJVEn42ivw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrLpYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq65Q/+JTfa+zn1SDpmtC9EW6MW/YGXJkSLj6UnwMJTdIuiBLZlv7jY\r\nwamYQLNkOxQV6ueBL6icn1kzG+4oEUTBkJGSf4MMZHlIxoFRPrCl3dSjMMc3\r\nQoL8ieGhVYDb879nUwSVxuGMv3BH8uR9Ff08Ab1EGjwa7Kjbw4E5m82sbQR9\r\ndHV9/c08uvK1bpLkPq4Q905H5GIKWJ1RlXQlymaegwbvBX8ThZXllvO2CIVz\r\nC6nmEx1tnLJxrp3MsSrJur+kvFx+KPKIRloW1gMjtV8xUL6yPMkLIYzrz4v2\r\nhiVOnTCJdxtxO4qNDb/0rMH5MXA1CeGzKSH+chiVdssepgovX5qCoT6rbXT1\r\nNzaHsLRtVwknTHtGqqCyBgrnSp+Sy36MM+r0iv6wCGq8lIh9h8jBQtNuBpae\r\nt0TYOVAmO0WA7EcbYKY97BFWMJe0kQW/i5X9ib8fk5cgJNxBaMAXl6UhpaL5\r\n9juYyoGKTFeab/oNB8ayWrYtg6+Mi3j+3CvQipP7bXmWTdwDtngiboR3w7V5\r\nWsCliMWPYUvD9QzBNSuLSnfTPTLqRIbH1F1WeovBFH+4WoAntGKDecOiizBn\r\nrog4z8n8sKYuxNVv/Otx9dQooZHfd7VufJ0ezCZ70bDajs5zYYnktGdS/q1M\r\nUMAgvts50c+xwQr9qNVHmgZiVtKtzYB4dBQ=\r\n=p23B\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"daguilera","email":"daguilera3220@gmail.com"},"directories":{},"maintainers":[{"name":"daguilera","email":"daguilera3220@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vitest-mock-express_2.0.2_1672264280764_0.39069624233875944"},"_hasShrinkwrap":false},"2.0.3":{"name":"vitest-mock-express","version":"2.0.3","description":"A lightweight Vitest mock for unit testing Express","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"vitest --coverage","test-verbose":"vitest --coverage --verbose","test-watch":"vitest \"/*.ts\" --watchAll","test-watch-all":"vitest --watchAll","lint":"tsc --noEmit && eslint '*/**/*.{js,ts}' --quiet --fix","build":"tsc","clean":"rm -rf dist/*","prepublishOnly":"npm ci && npm run clean && npm run build","release":"npm run prepublishOnly && npm run lint && npm run test","ci":"npm run release --verbose"},"repository":{"type":"git","url":"git+https://github.com/eagleera/vitest-mock-express.git"},"keywords":["test","testing","mock","mocking","vitest","express","expressjs","controller","ts","typescript"],"author":{"name":"bikk-uk"},"license":"MIT","bugs":{"url":"https://github.com/eagleera/vitest-mock-express/issues"},"homepage":"https://github.com/eagleera/vitest-mock-express#readme","devDependencies":{"@typescript-eslint/eslint-plugin":"^5.27.1","@typescript-eslint/parser":"^5.27.1","@vitest/coverage-c8":"^0.26.2","eslint":"^8.17.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","prettier":"^2.6.2","typescript":"^4.7.3","vitest":"^0.26.2"},"dependencies":{"@types/express":"^4.17.13"},"gitHead":"7e4f7078b67e4ca3588d0d13b08f1c145dd86ac4","_id":"vitest-mock-express@2.0.3","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Ge0+dI2gixQL17pa6KfVpXNUouy92wFrcHPKWU2qtwcq8LxDNMjg0WqFz0mZu6/wNzit+Jyt6eq2M1u25NxWVA==","shasum":"4bdbadcb34dd733f4ce0b847058aa2d4dc6b7e29","tarball":"https://registry.npmjs.org/vitest-mock-express/-/vitest-mock-express-2.0.3.tgz","fileCount":138,"unpackedSize":535768,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgVhXHrfWLEcbfi18usyKIeR9yNkhbQbE+Yp49cA9YDgIhAMVLbPJFiU7OUEibtJjS/B4CXroVgu58bApx6sd8Tlvj"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrLs+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowRhAAjAjtEDkKRARdmhhw9yz8x8tyH2KUJDkhWGHo+QgMCZsmMllt\r\nc4Gh6w1hwdlLdwUeM3rxGixtSLyKOXpkTeYU9FoVJWvbynxdSUdNRNmEvjye\r\nAc7KQePOGfTwsR0f33vWah8WvdTI1zj8h0B6RIqjrmAvmGl3ttQI77jrKVFA\r\n6avLj855Z3XhIRwkAAfuT3nMHvknx1FiaCYimSAvwAu+KrVVrHdW2pgRBI+e\r\nMFwljn3ZLSw5TsfgtcXgP34MqxYoGa2I4s8hncR4fH4E+WIIyNSS40ZZ4i2Y\r\nPRxlVC/oAGw7+M/HtfgsCspIZYlQv7vQMq6GUVSXWHH4vEhAwkp3qNiywAzQ\r\nvFBOqF3UtXLnM+s46lUx0ACS3/ZMC9btk1Ok6i7taUjp7CvkwPhzIM1M2Tc6\r\nSNp4p2e4VJn9VLQWZxfiyhe2Gf5vpQRnzZ89O0qAAvctJRH3h17omrgBUPZH\r\n3pBIXrKLXSrnOn7vCmBtl4JZ3Toa2T23zvbMm+uIkRfs5iG4+wgLetJRHoQX\r\n0ula86EWw72QWl+KyCTmmq0rH5qt1R+zSoSAjqKyUdNFL6Ogrk6RU+fp18om\r\nKmim2ZBo/Qtm1wmtIsUXqVFiRosjsrC7fL44cWI0unmft4GS0ptzs08PU7N3\r\nvysUKACzZ1FPQZP8hs8ZxzJM8oiWkJFNqNM=\r\n=idYD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"daguilera","email":"daguilera3220@gmail.com"},"directories":{},"maintainers":[{"name":"daguilera","email":"daguilera3220@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vitest-mock-express_2.0.3_1672264509995_0.694197324671642"},"_hasShrinkwrap":false},"2.1.0":{"name":"vitest-mock-express","version":"2.1.0","description":"A lightweight Vitest mock for unit testing Express","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"vitest run --coverage","test-verbose":"vitest run --coverage --reporter verbose","test-watch":"vitest","lint":"tsc --noEmit && eslint '*/**/*.{js,ts}' --quiet --fix","build":"tsc","clean":"rm -rf dist/*","prepublishOnly":"npm ci && npm run clean && npm run build","release":"npm run prepublishOnly && npm run lint && npm run test","ci":"npm run release --verbose"},"repository":{"type":"git","url":"git+https://github.com/eagleera/vitest-mock-express.git"},"keywords":["test","testing","mock","mocking","vitest","express","expressjs","controller","ts","typescript"],"author":{"name":"bikk-uk"},"license":"MIT","bugs":{"url":"https://github.com/eagleera/vitest-mock-express/issues"},"homepage":"https://github.com/eagleera/vitest-mock-express#readme","devDependencies":{"@typescript-eslint/eslint-plugin":"^7.2.0","@typescript-eslint/parser":"^7.2.0","@vitest/coverage-v8":"^1.3.1","eslint":"^8.57.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","prettier":"^3.2.5","typescript":"^5.4.2","vitest":"^1.3.1"},"dependencies":{"@types/express":"^4.17.21"},"_id":"vitest-mock-express@2.1.0","gitHead":"b9362895fb4e98b556cf2c5892eebcfabaf3747c","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-xqhS3o0avbVsvaYtOIaiMhPvNSz1TQ84qjXhW+O4ojKJijyZA7ZFL43YjHa97nWSw6AF1pCO1/S8ieoa3adLyg==","shasum":"b6d8fce15056190a358e0464c14cf30eb3d0ef13","tarball":"https://registry.npmjs.org/vitest-mock-express/-/vitest-mock-express-2.1.0.tgz","fileCount":138,"unpackedSize":535741,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlaD8Xe9SnqH3LkgTSF58rnvwTdZTN1syJ5eh0LfLogwIhAMjc/Dbp3YB+CbXtJ0lvt//I5XR2skc3DN8s+SbKVT1V"}]},"_npmUser":{"name":"daguilera","email":"daguilera3220@gmail.com"},"directories":{},"maintainers":[{"name":"daguilera","email":"daguilera3220@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vitest-mock-express_2.1.0_1710198499520_0.06688308548026956"},"_hasShrinkwrap":false},"2.1.1":{"name":"vitest-mock-express","version":"2.1.1","description":"A lightweight Vitest mock for unit testing Express","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"vitest run --coverage","test-verbose":"vitest run --coverage --reporter verbose","test-watch":"vitest","lint":"tsc --noEmit && eslint '*/**/*.{js,ts}' --quiet --fix","build":"tsc","clean":"rm -rf dist/*","prepublishOnly":"npm ci && npm run clean && npm run build","release":"npm run prepublishOnly && npm run lint && npm run test","ci":"npm run release --verbose"},"repository":{"type":"git","url":"git+https://github.com/eagleera/vitest-mock-express.git"},"keywords":["test","testing","mock","mocking","vitest","express","expressjs","controller","ts","typescript"],"author":{"name":"bikk-uk"},"license":"MIT","bugs":{"url":"https://github.com/eagleera/vitest-mock-express/issues"},"homepage":"https://github.com/eagleera/vitest-mock-express#readme","devDependencies":{"@typescript-eslint/eslint-plugin":"^7.2.0","@typescript-eslint/parser":"^7.2.0","@vitest/coverage-v8":"^1.3.1","eslint":"^8.57.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","prettier":"^3.2.5","typescript":"^5.4.2","vitest":"^1.3.1"},"dependencies":{"@types/express":"^4.17.21"},"_id":"vitest-mock-express@2.1.1","gitHead":"b9362895fb4e98b556cf2c5892eebcfabaf3747c","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-OWzr8+v+TpF7GgSPdRcOTnP9LALHR3JlBwYphRYFN+/GEJjX9koKQ2wu59h7tTp65SXwow/XxLRP06fZhV8p7w==","shasum":"d457666514fd7134a937d0faab17959c2a0a029a","tarball":"https://registry.npmjs.org/vitest-mock-express/-/vitest-mock-express-2.1.1.tgz","fileCount":138,"unpackedSize":536843,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD693W3j6YQHGBpyD0Ia15n4jLOfOGzQFQi/VWNMbesJgIgaGjsMkngMztQ7Xcv898XIR7VoW3rF0LGOMJFGCTQn1o="}]},"_npmUser":{"name":"daguilera","email":"daguilera3220@gmail.com"},"directories":{},"maintainers":[{"name":"daguilera","email":"daguilera3220@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vitest-mock-express_2.1.1_1710198967472_0.08363080359862152"},"_hasShrinkwrap":false},"2.2.0":{"name":"vitest-mock-express","version":"2.2.0","description":"A lightweight Vitest mock for unit testing Express","main":"dist/index.js","types":"dist/index.d.ts","type":"module","scripts":{"test":"vitest run --coverage","test-verbose":"vitest run --coverage --reporter verbose","test-watch":"vitest","lint":"tsc --noEmit && eslint '*/**/*.{js,ts}' --quiet --fix","build":"tsc","clean":"rm -rf dist/*","prepublishOnly":"npm ci && npm run clean && npm run build","release":"npm run prepublishOnly && npm run lint && npm run test","ci":"npm run release --verbose"},"repository":{"type":"git","url":"git+https://github.com/eagleera/vitest-mock-express.git"},"keywords":["test","testing","mock","mocking","vitest","express","expressjs","controller","ts","typescript"],"author":{"name":"bikk-uk"},"license":"MIT","bugs":{"url":"https://github.com/eagleera/vitest-mock-express/issues"},"homepage":"https://github.com/eagleera/vitest-mock-express#readme","devDependencies":{"@typescript-eslint/eslint-plugin":"^7.2.0","@typescript-eslint/parser":"^7.2.0","@vitest/coverage-v8":"^1.3.1","eslint":"^8.57.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","prettier":"^3.2.5","typescript":"^5.4.2","vitest":"^1.3.1"},"dependencies":{"@types/express":"^4.17.21"},"_id":"vitest-mock-express@2.2.0","gitHead":"38cb35f4896cc1151942a82a68ba8820c04497ab","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-JoKVdo9KM4K5wo9GcQ0GabiRFU5XP2yJVMFv9R/C6arcv5wTPoDAiama2jJelO/ieIq+XcGETLr/V4vjCuqofA==","shasum":"d7532480c9e7c3985347d7e930cf0e3ab083d9ed","tarball":"https://registry.npmjs.org/vitest-mock-express/-/vitest-mock-express-2.2.0.tgz","fileCount":138,"unpackedSize":483413,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD00+vSwhIWBGLp/h4K/4aPQkSMGISrM9XqDmwlECCUiwIgFHQcONQRrkRwdoHI19IjtbOpURwimjEoKBCa44fZ/y8="}]},"_npmUser":{"name":"daguilera","email":"daguilera3220@gmail.com"},"directories":{},"maintainers":[{"name":"daguilera","email":"daguilera3220@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vitest-mock-express_2.2.0_1710199618992_0.1805347495114904"},"_hasShrinkwrap":false}},"time":{"created":"2022-12-28T20:59:17.649Z","2.0.1":"2022-12-28T20:59:17.852Z","modified":"2024-03-11T23:26:59.627Z","2.0.2":"2022-12-28T21:51:20.940Z","2.0.3":"2022-12-28T21:55:10.174Z","2.1.0":"2024-03-11T23:08:19.715Z","2.1.1":"2024-03-11T23:16:07.769Z","2.2.0":"2024-03-11T23:26:59.208Z"},"maintainers":[{"name":"daguilera","email":"daguilera3220@gmail.com"}],"description":"A lightweight Vitest mock for unit testing Express","homepage":"https://github.com/eagleera/vitest-mock-express#readme","keywords":["test","testing","mock","mocking","vitest","express","expressjs","controller","ts","typescript"],"repository":{"type":"git","url":"git+https://github.com/eagleera/vitest-mock-express.git"},"author":{"name":"bikk-uk"},"bugs":{"url":"https://github.com/eagleera/vitest-mock-express/issues"},"license":"MIT","readme":"# vitest-mock-express\n\nA lightweight Vitest mock for unit testing Express\n\nTHIS IS A FORK OF [@jest-mock/express](https://github.com/bikk-uk/jest-mock-express) ALL CREDITS GOES TO THE ORIGINAL AUTHOR\n\n## Getting Started\n\nInstallation:\n\n`yarn add --dev vitest-mock-express`\n\n`npm install --save-dev vitest-mock-express`\n\nImporting:\n\n```typescript\nimport { getMockReq, getMockRes } from 'vitest-mock-express'\n```\n\n## Usage\n\n### Request - `getMockReq`\n\n`getMockReq` is intended to mock the `req` object as quickly as possible. In its simplest form, you can call it with no arguments to return a standard `req` object with mocked functions and default values for properties.\n\n```typescript\nconst req = getMockReq()\n```\n\nTo create a mock `req` with provided values, you can pass them to the function in any order, with all being optional. The advantage of this is that it ensures the other properties are not `undefined`. Loose type definitions for standard properties are provided, custom properties (`[key: string]: any`) will be passed through to the returned `req` object.\n\n```typescript\n// an example GET request to retrieve an entity\nconst req = getMockReq({ params: { id: '123' } })\n```\n\n```typescript\n// an example PUT request to update a person\nconst req = getMockReq({\n  params: { id: 564 },\n  body: { firstname: 'James', lastname: 'Smith', age: 34 },\n})\n```\n\nFor use with extended Requests, `getMockReq` supports generics.\n\n```typescript\ninterface AuthenticatedRequest extends Request {\n  user: User\n}\n\nconst req = getMockReq<AuthenticatedRequest>({ user: mockUser })\n\n// req.user is typed\nexpect(req.user).toBe(mockUser)\n```\n\n### Response - `getMockRes`\n\n`getMockRes` will return a mocked `res` object with Vitest mock functions. Chaining has been implemented for the applicable functions.\n\n```typescript\nconst { res, next, clearMockRes } = getMockRes()\n```\n\nAll of the returned mock functions can be cleared with a single call to `mockClear`. An alias is also provided called `clearMockRes`.\n\n```typescript\nconst { res, next, mockClear } = getMockRes()\n\nbeforeEach(() => {\n  mockClear() // can also use clearMockRes()\n})\n```\n\nIt will also return a mock `next` function for convenience. `next` will also be cleared as part of the call to `mockClear`/`clearMockRes`.\n\nTo create mock responses with provided values, you can provide them to the function in any order, with all being optional. Loose type definitions for standard properties are provided, custom properties (`[key: string]: any`) will be passed through to the returned `res` object.\n\n```typescript\nconst { res, next, clearMockRes } = getMockRes({\n  locals: {\n    user: getLoggedInUser(),\n  },\n})\n```\n\nFor use with extended Responses, `getMockRes` supports generics.\n\n```typescript\ninterface CustomResponse extends Response {\n  locals: {\n    sessionId?: string\n    isPremiumUser?: boolean\n  }\n}\n\nconst { res } = getMockRes<CustomResponse>({\n  locals: {\n    sessionId: 'abcdef',\n    isPremiumUser: false,\n  },\n})\n\n// res.locals is typed\nexpect(res.locals.sessionId).toBe('abcdef')\nexpect(res.locals.isPremiumUser).toBe(false)\n```\n\n## Example\n\nA full example to test a controller could be:\n\n```typescript\n// generate a mocked response and next function, with provided values\nconst { res, next } = getMockRes({\n  locals: {\n    isPremiumUser: true,\n  },\n})\n\ntest('will respond with the entity from the service', async () => {\n  // generate a mock request with params\n  const req = getMockReq({ params: { id: 'abc-def' } })\n\n  // provide the mock req, res, and next to assert\n  await myController.getEntity(req, res, next)\n\n  expect(res.json).toHaveBeenCalledWith(\n    expect.objectContaining({\n      id: 'abc-def',\n    }),\n  )\n  expect(next).toBeCalled()\n})\n```\n","readmeFilename":"README.md"}