import { SET_FOCUS, SET_SCRUB_POSITION, UNSET_FOCUS } from "../actionTypes"; import userInput from "./userInput"; describe("userInput reducer", () => { const state = userInput(undefined, { type: "@@INIT" }); it("has sensible defaults", () => { expect(state).toEqual({ focus: null, scrubPosition: 0, bandFocused: null, userMessage: null }); }); it("can set focus", () => { const newState = userInput(state, { type: SET_FOCUS, input: "foo", bandFocused: null, userMessage: null }); expect(newState).toEqual({ focus: "foo", scrubPosition: 0, bandFocused: null, userMessage: null }); }); it("can unset focus", () => { const newState = userInput( { ...state, focus: "foo", bandFocused: null }, { type: UNSET_FOCUS } ); expect(newState).toEqual({ focus: null, scrubPosition: 0, bandFocused: null, userMessage: null }); }); it("can set scrub position", () => { const newState = userInput(state, { type: SET_SCRUB_POSITION, position: 5, bandFocused: null, userMessage: null }); expect(newState).toEqual({ focus: null, scrubPosition: 5, bandFocused: null, userMessage: null }); }); });