mirror of
https://github.com/Shopify/draggable.git
synced 2025-12-08 20:15:56 +00:00
36 lines
814 B
JavaScript
36 lines
814 B
JavaScript
function toHaveOrder(actualOrder, expectedOrder) {
|
|
const incorrectPositions = expectedOrder
|
|
.map((element, index) => actualOrder[index] === element)
|
|
.filter((isCorrectOrder) => !isCorrectOrder);
|
|
|
|
const pass = Boolean(!incorrectPositions.length);
|
|
|
|
return {
|
|
pass,
|
|
message: () => {
|
|
const expectation = pass ? 'not to be' : 'to be';
|
|
let message = `Expected order ${expectation}:\n`;
|
|
|
|
message += expectedOrder
|
|
.map((element) => {
|
|
return `${element.textContent.trim()}`;
|
|
})
|
|
.join('\n');
|
|
|
|
message += '\n \nInstead received:\n';
|
|
|
|
message += actualOrder
|
|
.map((element) => {
|
|
return `${element.textContent.trim()}`;
|
|
})
|
|
.join('\n');
|
|
|
|
return message;
|
|
},
|
|
};
|
|
}
|
|
|
|
expect.extend({
|
|
toHaveOrder,
|
|
});
|