Я использую узел/Redux и я следующее при тестировании с Chai:неизменная ошибка Chai Assertion в то время как ожидается, равно результат
AssertionError: expected 'Map { "winos": List [ Map { "id": 1, "x": 1, "y": 1, "movable": false }, Map { "id": 2, "x": 2, "y": 2, "movable": false }, Map { "id": 5, "x": 5, "y": 5, "movable": false } ] }'
to equal 'Map { "winos": List [ Map { "id": 1, "x": 1, "y": 1, "movable": false }, Map { "id": 2, "x": 2, "y": 2, "movable": false }, Map { "id": 5, "x": 5, "y": 5, "movable": false } ] }'
Я видел, что это известная ошибка: https://github.com/astorije/chai-immutable/issues/24. Лицо, которому удалось это решить, сделав все в дереве неизменным, но я думаю, что у меня уже есть все неизменное.
Мой код ниже:
import {List, Map} from 'immutable';
import {expect} from 'chai';
export function addWino(state, wino) {
return state.updateIn(['winos'], arr => arr.push(wino));
}
describe('setWinos',() => {
describe('addWino',() => {
it('adds a Wino',() => {
const wino = Map({
id: 5,
x:5,
y:5,
movable: false
});
const nextState = addWino(state, wino);
expect(nextState).to.equal(Map({
winos: List.of([
Map({
id: 1,
x:1,
y:1,
movable: false
})
],
[
Map({
id: 2,
x:2,
y:2,
movable: false
})
],
[
Map({
id: 5,
x:5,
y:5,
movable: false
})
])
}));
});
});
}
я уже пробовал .eql()
и .to.deep.equal()
. Спасибо за помощь.
Вы должны отметить этот ответ как решение своего вопроса, так как это действительно было проблемой :) – astorije