jest-extended
jest-extended copied to clipboard
`toIncludeSameMembers` output is hard to understand
Currently, if you have a test like this:
it('example', () => {
const expected = Array.from({ length: 1000 }, (_, i) => ({
i,
value: 'expected'
}));
const actual = [...expected];
const tmp = actual[200];
actual[200] = actual[201];
actual[201] = { ...tmp, value: 'hope you find me' };
expect(actual).toIncludeSameMembers(expected);
});
You will get an error like this:
Error as text
expect(received).toIncludeSameMembers(expected)
Expected list to have the following members and no more:
[{"i": 0, "value": "expected"}, {"i": 1, "value": "expected"}, {"i": 2, "value": "expected"}, {"i": 3, "value": "expected"}, {"i": 4, "value": "expected"}, {"i": 5, "value": "expected"}, {"i": 6, "value": "expected"}, {"i": 7, "value": "expected"}, {"i": 8, "value": "expected"}, {"i": 9, "value": "expected"}, …]
Received:
[{"i": 0, "value": "expected"}, {"i": 1, "value": "expected"}, {"i": 2, "value": "expected"}, {"i": 3, "value": "expected"}, {"i": 4, "value": "expected"}, {"i": 5, "value": "expected"}, {"i": 6, "value": "expected"}, {"i": 7, "value": "expected"}, {"i": 8, "value": "expected"}, {"i": 9, "value": "expected"}, …]
410 | actual[201] = { ...tmp, value: 'hope you find me' };
411 |
> 412 | expect(actual).toIncludeSameMembers(expected);
| ^
413 | });
which is very hard to understand so I would like to get something like this:
Error as text
expect(received).toIncludeSameMembers(expected)
- Expected - 1
+ Received + 1
@@ -799,11 +799,11 @@
"i": 199,
"value": "expected",
},
Object {
"i": 200,
- "value": "expected",
+ "value": "hope you find me",
},
Object {
"i": 201,
"value": "expected",
},
410 | actual[201] = { ...tmp, value: 'hope you find me' };
411 |
> 412 | expect(actual).toIncludeSameMembers(expected);
| ^
413 | });
version: 3.2.4