test("todos", t => { t.truthy(todos); let expected = empty(); let state = todos(undefined, {}); t.truthy(is(expected, state), "todos handles initial state"); });
test("addTodo", t => { let state = empty(); let addTodoAction = actions.todo.add(0, "test name", "test description"); state = todos(state, addTodoAction); let expected = add(empty(), create(addTodoAction.payload)); t.truthy(is(expected, state), "add a todo to the state"); });
createSelectorCreator(defaultMemoize, (currentVal, previousVal) => is(currentVal, previousVal))
/** * Test whatever the document is clean (nothing to save) * @return {Boolean} clean */ isClean() { const savedRevision = this.__prevRevision; if (!this.isSaved()) { return false; } if (!savedRevision) { return true; } return Immutable.is( savedRevision.delete('__prevRevision'), this.delete('__prevRevision') ); }
// Since we're using immutable objects equal operations are **very** slow, the // best practice here is to compare hashCodes instead, this extension helps // comparing two immutables while still providing a readable result expect.extend({ toEqualImmutable(received, expected) { const pass = Immutable.is(received, expected); if (!pass) { return { message: () => { const receivedString = JSON.stringify(received); const expectedString = JSON.stringify(expected); const [a, b] = highlightDifferences(receivedString, expectedString); return `expected \n ${a} \n to be \n ${b}`; }, pass, }; } return { message: () => { return `expected values to be equal`; }, pass, }; }, });
if (Immutable.is(initial, expected)) { return List();
key: 'compare', value: function compare(initial, expected, fieldPath) { if (Immutable.is(initial, expected)) { return List();