it('sets the query and loading', () => { const state = search( {query: 'bar', loading: false, results: [{slug: 'bar'}]}, {type: 'SEARCH_STARTED', payload: {query: 'foo'}}); assert.equal(state.query, 'foo'); assert.strictEqual(state.loading, true); assert.deepEqual(state.results, []); });
function getNextState() { return search(initialState, { type: 'SEARCH_LOADED', payload: { query: 'foo', ...response, }, }); }
it('defaults to not loading', () => { const { loading } = search(undefined, {type: 'unrelated'}); assert.strictEqual(loading, false); });
it('defaults to a null query', () => { const { query } = search(undefined, {type: 'unrelated'}); assert.strictEqual(query, null); });
it('sets the query', () => { const state = search(undefined, {type: 'SET_QUERY', payload: {query: 'foo'}}); assert.equal(state.query, 'foo'); const newState = search(state, {type: 'SET_QUERY', payload: {query: 'bar'}}); assert.equal(newState.query, 'bar'); });
it('defaults to empty results', () => { const { results } = search(undefined, {type: 'unrelated'}); assert.deepEqual(results, []); });