Skip to content
Snippets Groups Projects
Verified Commit 6a30e59a authored by Eliot Berriot's avatar Eliot Berriot
Browse files

Fix #97: Queue shuffle now apply only to tracks after the current one

parent ae651903
No related branches found
No related tags found
No related merge requests found
Queue shuffle now apply only to tracks after the current one (#97)
......@@ -41,7 +41,6 @@ export default {
state.currentIndex += 1
}
}
},
getters: {
currentTrack: state => {
......@@ -141,7 +140,9 @@ export default {
commit('ended', true)
},
shuffle ({dispatch, commit, state}) {
let shuffled = _.shuffle(state.tracks)
let toKeep = state.tracks.slice(0, state.currentIndex + 1)
let toShuffle = state.tracks.slice(state.currentIndex + 1)
let shuffled = toKeep.concat(_.shuffle(toShuffle))
commit('player/currentTime', 0, {root: true})
commit('tracks', [])
dispatch('appendMany', {tracks: shuffled})
......
......@@ -316,18 +316,18 @@ describe('store/queue', () => {
})
it('shuffle', (done) => {
let _shuffle = sandbox.stub(_, 'shuffle')
let tracks = [1, 2, 3]
let shuffledTracks = [2, 3, 1]
let tracks = ['a', 'b', 'c', 'd', 'e']
let shuffledTracks = ['e', 'd', 'c']
_shuffle.returns(shuffledTracks)
testAction({
action: store.actions.shuffle,
params: {state: {tracks: tracks}},
params: {state: {currentIndex: 1, tracks: tracks}},
expectedMutations: [
{ type: 'player/currentTime', payload: 0 , options: {root: true}},
{ type: 'tracks', payload: [] }
],
expectedActions: [
{ type: 'appendMany', payload: {tracks: shuffledTracks} }
{ type: 'appendMany', payload: {tracks: ['a', 'b'].concat(shuffledTracks)} }
]
}, done)
})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment