From 56a5388cdf5714aae2ed80787375be014bb09932 Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Tue, 19 Dec 2017 07:05:27 -0800 Subject: [PATCH] Add more playlist test cases --- js/reducers/playlist.test.js | 52 +++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/js/reducers/playlist.test.js b/js/reducers/playlist.test.js index d0a7bdd0..bff10718 100644 --- a/js/reducers/playlist.test.js +++ b/js/reducers/playlist.test.js @@ -1,7 +1,57 @@ import reducer from "./playlist"; -import { SHIFT_CLICKED_TRACK } from "../actionTypes"; +import { + SHIFT_CLICKED_TRACK, + CLICKED_TRACK, + CTRL_CLICKED_TRACK +} from "../actionTypes"; describe("playlist reducer", () => { + it("can handle clicking a track", () => { + const initialState = { + tracks: { + 2: { selected: false }, + 3: { selected: false } + }, + trackOrder: [3, 2], + lastSelectedIndex: 0 + }; + + const nextState = reducer(initialState, { + type: CLICKED_TRACK, + index: 1 + }); + expect(nextState).toEqual({ + tracks: { + 2: { selected: true }, + 3: { selected: false } + }, + trackOrder: [3, 2], + lastSelectedIndex: 1 + }); + }); + it("can handle ctrl-clicking a track", () => { + const initialState = { + tracks: { + 2: { selected: true }, + 3: { selected: false } + }, + trackOrder: [3, 2], + lastSelectedIndex: 1 + }; + + const nextState = reducer(initialState, { + type: CTRL_CLICKED_TRACK, + index: 0 + }); + expect(nextState).toEqual({ + tracks: { + 2: { selected: true }, + 3: { selected: true } + }, + trackOrder: [3, 2], + lastSelectedIndex: 0 + }); + }); it("can handle shift-click", () => { const initialState = { tracks: {