|
|
|
@ -66,24 +66,111 @@ describe('test ADD_WATCHLATER', () => {
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
describe('test LOAD_WATCHLATER', () => {
|
|
|
|
|
|
|
|
|
|
let initialState = {
|
|
|
|
|
trendingIDs: [],
|
|
|
|
|
trendingMovies: [],
|
|
|
|
|
watchLaterMovies: [],
|
|
|
|
|
favouriteMovies: [],
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
it('should handle LOAD_WATCHLATER', () => {
|
|
|
|
|
const watchLater = new Movie(1, "Test", "", 1, 5, "2023", ["Halloween"], "", "")
|
|
|
|
|
const MovieList = [watchLater]
|
|
|
|
|
expect(
|
|
|
|
|
appReducer(initialState, {
|
|
|
|
|
type: LOAD_WATCHLATER,
|
|
|
|
|
payload: MovieList,
|
|
|
|
|
})
|
|
|
|
|
).toEqual({
|
|
|
|
|
trendingIDs: [],
|
|
|
|
|
trendingMovies: [],
|
|
|
|
|
watchLaterMovies: [watchLater, ...initialState.watchLaterMovies],
|
|
|
|
|
favouriteMovies: [],
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
describe('test LOAD_FAVOURITE', () => {
|
|
|
|
|
|
|
|
|
|
let initialState = {
|
|
|
|
|
trendingIDs: [],
|
|
|
|
|
trendingMovies: [],
|
|
|
|
|
watchLaterMovies: [],
|
|
|
|
|
favouriteMovies: [],
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
it('should handle LOAD_FAVOURITE', () => {
|
|
|
|
|
const favourite = new Movie(1, "Test", "", 1, 5, "2023", ["Halloween"], "", "")
|
|
|
|
|
const MovieList = [favourite]
|
|
|
|
|
expect(
|
|
|
|
|
appReducer(initialState, {
|
|
|
|
|
type: LOAD_FAVOURITE,
|
|
|
|
|
payload: MovieList,
|
|
|
|
|
})
|
|
|
|
|
).toEqual({
|
|
|
|
|
trendingIDs: [],
|
|
|
|
|
trendingMovies: [],
|
|
|
|
|
watchLaterMovies: [],
|
|
|
|
|
favouriteMovies: [favourite, ...initialState.favouriteMovies],
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
describe('test FETCH_TRENDING_MOVIE', () => {
|
|
|
|
|
|
|
|
|
|
let initialState = {
|
|
|
|
|
trendingIDs: [],
|
|
|
|
|
trendingMovies: [],
|
|
|
|
|
watchLaterMovies: [],
|
|
|
|
|
favouriteMovies: [],
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
it('should handle FETCH_TRENDING_MOVIE', () => {
|
|
|
|
|
const trending = new Movie(1, "Test", "", 1, 5, "2023", ["Halloween"], "", "")
|
|
|
|
|
const MovieList = [trending]
|
|
|
|
|
expect(
|
|
|
|
|
appReducer(initialState, {
|
|
|
|
|
type: FETCH_TRENDING_MOVIE,
|
|
|
|
|
payload: MovieList,
|
|
|
|
|
})
|
|
|
|
|
).toEqual({
|
|
|
|
|
trendingIDs: [],
|
|
|
|
|
trendingMovies: [trending, ...initialState.trendingMovies],
|
|
|
|
|
watchLaterMovies: [],
|
|
|
|
|
favouriteMovies: [],
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
describe('test POP_FIRST_TRENDING', () => {
|
|
|
|
|
|
|
|
|
|
const trending = new Movie(1, "Test", "", 1, 5, "2023", ["Halloween"], "", "")
|
|
|
|
|
|
|
|
|
|
let initialState = {
|
|
|
|
|
trendingIDs: [],
|
|
|
|
|
trendingMovies: [trending],
|
|
|
|
|
watchLaterMovies: [],
|
|
|
|
|
favouriteMovies: [],
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
it('should handle POP_FIRST_TRENDING', () => {
|
|
|
|
|
expect(
|
|
|
|
|
appReducer(initialState, {
|
|
|
|
|
type: POP_FIRST_TRENDING,
|
|
|
|
|
payload: trending,
|
|
|
|
|
})
|
|
|
|
|
).toEqual({
|
|
|
|
|
trendingIDs: [],
|
|
|
|
|
trendingMovies: [...initialState.trendingMovies.filter((item: Movie) => item !== trending)],
|
|
|
|
|
watchLaterMovies: [],
|
|
|
|
|
favouriteMovies: [],
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
/*
|
|
|
|
|
case LOAD_WATCHLATER:
|
|
|
|
|
// @ts-ignore
|
|
|
|
|
return {...state, watchLaterMovies: action.payload};
|
|
|
|
|
case LOAD_FAVOURITE:
|
|
|
|
|
// @ts-ignore
|
|
|
|
|
return {...state, favouriteMovies: action.payload};
|
|
|
|
|
case FETCH_TRENDING_ID:
|
|
|
|
|
// @ts-ignore
|
|
|
|
|
return {...state, trendingIDs: action.payload};
|
|
|
|
|
case FETCH_WATCHLATER:
|
|
|
|
|
// @ts-ignore
|
|
|
|
|
return {...state, watchLaterMovies: action.payload};
|
|
|
|
|
case FETCH_FAVOURITE:
|
|
|
|
|
// @ts-ignore
|
|
|
|
|
return {...state, favouriteMovies: action.payload};
|
|
|
|
|
case FETCH_TRENDING_MOVIE:
|
|
|
|
|
return {...state, trendingMovies: action.payload};
|
|
|
|
|
case POP_FIRST_TRENDING:
|
|
|
|
|
return {...state, trendingMovies: [...state.trendingMovies.filter((item: Movie) => item !== action.payload)]};
|
|
|
|
|
*/
|