{"_id":"jest-test-matrix","_rev":"4-cbe1d7312053dd797cf9ebca6c1ec67c","name":"jest-test-matrix","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"jest-test-matrix","version":"1.0.0","description":"A small utility for Jest to test all combinations of parameters for a function at once.","main":"dist/index.js","scripts":{"test":"jest"},"author":{"name":"WaldoJeffers"},"license":"MIT","devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","typescript":"^4.1.3"},"dependencies":{"ascii-table":"0.0.9"},"gitHead":"a7763aea763344eaa8931ebfdab3603af045441a","_id":"jest-test-matrix@1.0.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-RW4p26T9rYzYns79CpZb4Y2owrnP2x7ZGdQjE5kDjqAodC2A15xK1d537GBzl/XdFNB01XLyI0bGSx4vFTVfvQ==","shasum":"c9f4181aaf8ed0257928d67f09c710714e1c6319","tarball":"https://registry.npmjs.org/jest-test-matrix/-/jest-test-matrix-1.0.0.tgz","fileCount":9,"unpackedSize":7414,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6OOuCRA9TVsSAnZWagAAcfQP+gOgsTNaYjL5CX8IaGfy\nYLKG4Y+BIwvmVnRL71HzS9WM7lasBN1SuXoYPuCAjdwurlNitJZWADrnh/RL\nOHYji171lUGCf24Ft7PC+gFv1lh/mqN16s2wi2CeK8lrQCkiqJG629qhDTM5\neNnWAOzS4fDPRG2Q0GhxFb+r9PTpEh6aWGiZBiLAeDVfyYQzwrA3VBzJuUrt\nh2IM6oT/GsVqinfzRNgJxInNuoSkfK2KdqAvV0SwkruMd6JUKp3t1MkZ0Z40\nX0dOvMOxzXhUYHnHvQbxk1ytvrjPLHaRXs2mSKsHo3yvY9cs8a24zwEGOdXL\nkKfCD7lAT+EXDIKaHLDMn1Z3na+iMFiYIAHwF2/vJ6Q5h0CTjjJG6UZTh91c\nEMBldm8eQXmJmYGN9DoavH3/1oCai6aRpWXMsTuK6bsTCrqDDQ2CqJg+4m+M\n+pM5sWQynEqRQwY/8vglgFbtkmcyJVMJWnIqU1SB/Ngvciq2Eq3974+1fD9e\nXSHghkkjSm/nLgAiK3hgIYYr3r1W61tKRo4E3RCH1xmOH89FpoxEoSvIuGWz\n0m5EldnOT+rjBiHZbjrxr5G5ImgHPHGJG6tnrmPevqRIShYcF18RXF7SnM8i\n4pwXeOVLPjjmK2oD/IUfNkDA3HAc9+2sqHDMe97zJF8+yEh5UKJ9uzG0Ja6n\npvPG\r\n=PUhq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYSf0IolM8ILdv+GS/sw1mVpTv8yMXph5DwPCe8zxxgwIhAJkjh/lFYa4aOXec7nhYnui5q2qCUCs9OcSBYx+y30xd"}]},"_npmUser":{"name":"waldojeffers","email":"achille.urbain@gmail.com"},"directories":{},"maintainers":[{"name":"waldojeffers","email":"achille.urbain@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jest-test-matrix_1.0.0_1609098157617_0.9979438940812395"},"_hasShrinkwrap":false},"1.0.1":{"name":"jest-test-matrix","version":"1.0.1","description":"A small utility for Jest to test all combinations of parameters for a function at once.","keywords":["jest","test","testing","matrix","table","truth table","snapshot","table snapshot"],"main":"dist/index.js","scripts":{"test":"jest","prepare":"tsc"},"author":{"name":"WaldoJeffers"},"license":"MIT","devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","typescript":"^4.1.3"},"dependencies":{"ascii-table":"0.0.9"},"gitHead":"95fa0626df75153ac8928cb654a6f889205d2562","_id":"jest-test-matrix@1.0.1","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-FWEcaK3hfhORRbCRVCvKsktEhxnSNo8juPmiCCL23DvKfR3FlUQnZvXNMB6rFfsZcejrRKbSuyFmLRzZEvBEVg==","shasum":"e9222dd11590d30c938a36ce20dc9cb6800bda35","tarball":"https://registry.npmjs.org/jest-test-matrix/-/jest-test-matrix-1.0.1.tgz","fileCount":9,"unpackedSize":8218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6UpYCRA9TVsSAnZWagAAPbcP/0BNCg7ALmLHO72UjTLP\nDkrJoeBmND33xZQ+NGfyKgxTVc5vXmE/5u+gPGinmCn+afJBjVEUKGIr5OMk\nkYqQZ16OYWWCjctjRjSmAfLMWNC2aRObRQxizCbzTiVuB4Fs6PVtlH8sRiVJ\nurzm2mjqeeFysNASjEGAffOF+6zp23WQTfEKu/P55j2fkhfS7SUKWGG0yuW/\nQYrn55em6hj5XrFMACz37Tw0pkPbP7Z9dxpRCSctVqy/CmkxOuE3jGf+U9zd\nmEU9/LFnebaqHMQuS0KRSxZLhaVNlmfL3AJ8FxQ0fEgB63ihEwbyY5GwiJU0\nbJ1zlCKFGAG7skgtklWbOjTsg/qu42+74mriI/nAGsjAP7dZ9qbLwMMe/4tc\ne31noI0eh7Lowl1/E0G4UqnLE9rfXkCrbfUqsy/YJ/IkEaS5pk2pG5UON7+R\nm26bietB9aHe+BdhFliO4InT6c5bajiYOXq+3BpzcgRFH7QJwbTexln1EV8k\nAana8wiIIJuaFdSj13tGp3qYK0D5kO7jnCa8t0g53j9n1Yw5to2ribw+T6rS\nbIUnP6XidU0UHi14glf0vcTrG56zy3sOzkRq2AZ/E5g9oWAuDgmi5LTArz0s\nce8y8bxKx+gxCkH2g0kxJiUJN192ZtJM/PdT5ttnDD+JnqSQse3tFnTnNZUx\nw9Nw\r\n=6EO9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEpeHWuKP1VEbPoVjPtg3J2ZQ3NTvULHIRwAW3CoWg79AiEA+AuFEfOdFwhoHScmG0mbEGcPLEbnkdqorkbgmw2+OLY="}]},"_npmUser":{"name":"waldojeffers","email":"achille.urbain@gmail.com"},"directories":{},"maintainers":[{"name":"waldojeffers","email":"achille.urbain@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jest-test-matrix_1.0.1_1609124440031_0.43504122038199"},"_hasShrinkwrap":false},"1.1.0":{"name":"jest-test-matrix","version":"1.1.0","description":"A small utility for Jest to test all combinations of parameters for a function at once.","keywords":["jest","test","testing","matrix","table","truth table","snapshot","table snapshot"],"main":"dist/index.js","scripts":{"test":"jest","prepare":"tsc"},"author":{"name":"WaldoJeffers"},"license":"MIT","devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","typescript":"^4.1.3"},"dependencies":{"ascii-table":"0.0.9"},"gitHead":"f37124823c486884a8b88479a3bc250038023d42","_id":"jest-test-matrix@1.1.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-wZRzdtFLBP9TG8JHRs8xH31Kuh4BwTfOdIZCjjmyEIa+FVMKIwh/xp918ANS4idsmU7GivJSYJfpXzABZDN+Kg==","shasum":"91b3ef6aef952e8cd0b5cd650bda10bafd3e8f40","tarball":"https://registry.npmjs.org/jest-test-matrix/-/jest-test-matrix-1.1.0.tgz","fileCount":9,"unpackedSize":8400,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6fshCRA9TVsSAnZWagAA+l0QAJERoaZmZGBKU5u2PL6K\n9kgg1P5KZeeT3ifVALR3O5Zb3+RpQti4KDGiTPN2k0CMtW9Vf27zZjlmFMl/\nBbP/wiGvScf5aTtmLVG/gR1sodJv2XtGMuzokzbt7/n8wXmars8yGmCLCVLf\n23hFz0TJcKXntNDMNFFJov8oy6Al74B7Bj1odVVREsBAgG/FrRVgXqLQmWAI\nnxDN5d0P4oqULK9CnzRv0Nrw9VAPz88JAAu9bAvB8qiPxiEhfNqDGu6Awkry\nTLlRyffXSPSoT+KxVh4g9xlfHEpEZxxxCcHA/XwbBBYW41gAU0DeGHSG9oBg\nvFsqBskxme5HKFOwia00iFitRYevbx0HRjnXfFP7JWzKDiD5gWx7nNb82abm\nF7HnCZib0SmwWTmFoegpZrei5DqUhSOJfywx5wtgfgPI5pQ7hHbicj3LdS6a\nUDRjV60sKBmq2fwyFAVDZDrFaFMP2ZIJ/kQshureVE/HO6DyBvHOGNOtk44E\nHcNLa6PAguub1dfppa4Nk17aZRr1XoKb2cfm8KX5HM4NI73BWU5sJN99Rshk\nJWaPd9bCApRSI9Tud3Tg8QLTUhknP/TsR2SKDvVaLtB15uHt6Ko6dzGTtj7w\nNQR6zYu5VhMB9+9KCr8tNSnPXJJLQE6kjGa4HtealZHNF2KECbTP9etZSl6H\n2/Mf\r\n=o2ew\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFBJukweIDe/E/Q5rfsTIfu9mp50XOlfXfVcyrGGZDAaAiAssyWK5dI3KKGrkCIzXiXknupMHrdl5w031bleHOYEAw=="}]},"_npmUser":{"name":"waldojeffers","email":"achille.urbain@gmail.com"},"directories":{},"maintainers":[{"name":"waldojeffers","email":"achille.urbain@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jest-test-matrix_1.1.0_1609169697084_0.592163402809371"},"_hasShrinkwrap":false},"1.2.0":{"name":"jest-test-matrix","version":"1.2.0","description":"A small utility for Jest to test all combinations of parameters for a function at once.","keywords":["jest","test","testing","matrix","table","truth table","snapshot","table snapshot"],"main":"dist/index.js","scripts":{"test":"jest","prepare":"tsc"},"author":{"name":"WaldoJeffers"},"license":"MIT","devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","typescript":"^4.1.3"},"dependencies":{"ascii-table":"0.0.9"},"gitHead":"c4b8c37b4dc63fe3aabd07f4f9657ed6f112b04e","_id":"jest-test-matrix@1.2.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-w7dkpp+YxziMomddNlSsElhVKXxhf6EvEHcJkdYbOeBC6LJctwsXASLydMqlkOv/GrRRN1u9ENOGTjMNRoy92w==","shasum":"2c513b0853b371457b5b13fda86eaa4fda7b6ccf","tarball":"https://registry.npmjs.org/jest-test-matrix/-/jest-test-matrix-1.2.0.tgz","fileCount":9,"unpackedSize":8817,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6vPoCRA9TVsSAnZWagAAD78P/2oGcZXO5erGtb+8bA+G\noKl1efPGkThH9rRNzJeaygqqRVf7BIxcOPGhlBeDzvaOxatOykaB6pY0C1qN\nBenhgnTQOlMhbxe1Q535cx6HPz8TJ1wCB0Ix13VCYwxbNPRFgQy/0wiAtjiL\nyWpkBPVjvAa//Je/KV2RZT4BKzzwwu3Tzj+JemJ5P7gFqgBfd7tG0C4X6X0W\nNeWdcXzZRXA9F18MgbELYgKTNn1DNsv6T7DZ9rw0P9K809ohgg+NM5QZ35m3\nuV9pQql4vOUuBPaV2ootN+0apltlaulBKwz+IVQ+g6NOAmIHDJuMIzVqmw2B\nWzTvqhvco9bpw7tCtIHlEmt+NhZelZYWT8MvGP+PwJk34egrmTqIoeGKWfYG\nvTCeQMJxr7MoFRIw7w0lTA43gbOwsZCkh57iGjgvn8RjzkJ+V/9L5BhungjF\ngAO120l5U/iH+3k17TDbiSHusGajx6okpsCMMqydqMY+FXn5eSnPy9AEx+4O\nB3q0HMAkQpvBcY/cbkbis3NiKARtm6XzDZZm2LTfypfZG0sy0F4F79HE2zDJ\ngCUZZYvNYTioUyILJyi7MZUhPmiOfdVj4HdcH0J+o/or5UAns7Y65zqJl9lI\nVNStMXPUZO6/tDA7gRuI1RhOB/CiBXimhav6O39zDFrm3YWdA4lvD7el7ubQ\niqJI\r\n=rh2K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZ8uvaijWwf2mAzZdN6bhjWOl3aPWh9iXVBCO0FPiIpAIhAPvjJJfFs0p+OnAmzpou8zXKqwIHDG0wMbP3AAO21WMS"}]},"_npmUser":{"name":"waldojeffers","email":"achille.urbain@gmail.com"},"directories":{},"maintainers":[{"name":"waldojeffers","email":"achille.urbain@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jest-test-matrix_1.2.0_1609233384068_0.6270872583258025"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-27T19:42:37.617Z","1.0.0":"2020-12-27T19:42:37.734Z","modified":"2022-05-06T12:47:42.187Z","1.0.1":"2020-12-28T03:00:40.167Z","1.1.0":"2020-12-28T15:34:57.223Z","1.2.0":"2020-12-29T09:16:24.259Z"},"maintainers":[{"name":"waldojeffers","email":"achille.urbain@gmail.com"}],"description":"A small utility for Jest to test all combinations of parameters for a function at once.","author":{"name":"WaldoJeffers"},"license":"MIT","readme":"# jest-test-matrix\nA plugin for Jest which helps you test functions accepting different combinations of inputs. Instead of manually writing a test for each possible combination, you will only need to write one.\n\nA quick example:\n```ts\n// file.test.js\nimport testMatrix from 'jest-test-matrix';\n\ninterface CanPayOpts {\n  amount: number;\n  balance: number;\n  status: 'active' | 'locked' | 'expired';\n}\n\nfunction canPay({amount, balance, status}: CanPayOpts){\n  if (status === 'locked' || status == 'expired'){\n    return false;\n  }\n  return balance > amount;\n}\n\nit('should only allow valid payments', () => {\n  expect(\n    testMatrix(canPay, {\n      amount: [20, 100],\n      balance : [50],\n      status: ['active', 'locked', 'expired']\n    })\n  ).toMatchSnapshot();\n})\n```\n\nwill result in the following snapshot:\n\n```\n// file.test.snap\nexports[`should only allow valid payments 1`] = `\n.-------------------------------------.\n|               canPay                |\n|-------------------------------------|\n| balance | amount | status  | result |\n|---------|--------|---------|--------|\n|      50 |     20 | active  | true   |\n|         |        | locked  | false  |\n|         |        | expired | false  |\n|         |    100 | active  | false  |\n|         |        | locked  | false  |\n|         |        | expired | false  |\n'-------------------------------------'\n`;\n```\n\n## Installation\nWith npm\n```bash\nnpm install -D jest-test-matrix\n```\n\nWith yarn\n```bash\nyarn add -D jest-test-matrix\n```\n\n## Usage\n**`testMatrix(fn, input)`** where\n- **`fn: (params: Record<'string', any>) => any`**: The function you want to test. By default, all the parameters in `input` are passed as an object. If your function has a different arity, you can always pass an anonymous function wrapping your own function, like so `testMatrix({a, b} => fn(a, b), {a: [...], b: [...]})`. If your function has a name, it will be used as a title in the matrix snapshot.\n- **`input: Record<'string', any[]>`**: An object where keys are the names of the parameters you want to test (they will be used as column headers in the snapshot), and values are an array of different possible values for each parameter.\n\n\nThe call to `testMatrix` should we wrapped in a `jest.expect` call to generate a snapshot:\n```ts\nexpect(\n  testMatrix(canPay, {\n    amount: [20, 100],\n    balance : [50],\n    status: ['active', 'locked', 'expired']\n  })\n).toMatchSnapshot();\n```","readmeFilename":"README.md","keywords":["jest","test","testing","matrix","table","truth table","snapshot","table snapshot"]}