test on actions 🎉

Tests
Lucas Delanier 2 years ago
parent 710add175a
commit 7628844687

@ -0,0 +1,216 @@
import Movie from "../../model/Movie";
import {describe, expect} from '@jest/globals';
import {addMovieToFavourite, addMovieToWatchLater, removeMovieTrending, setFavourite, setinfoMovie, setWatchLater} from "../../redux/actions/actions";
import {ADD_FAVOURITE, ADD_WATCHLATER, FETCH_TRENDING_MOVIE, LOAD_FAVOURITE, LOAD_WATCHLATER, POP_FIRST_TRENDING} from "../../redux/constants";
describe('test actions add WatchLater', () => {
it('should create an action with ADD_WATCHLATER type', () => {
const payload = new Movie(
916224,
"Suzume",
"https://image.tmdb.org/t/p/original/ceYZCBfwbBwSpGJ6PapNVw5jqLG.jpg",
121,
8.311,
"2022-11-11",
[
"Animation",
"Drame",
"Aventure",
"Fantastique",
],
"Dans une petite ville paisible de Kyushu, une jeune fille de 17 ans, Suzume, rencontre un homme qui dit voyager afin de chercher une porte. Décidant de le suivre dans les montagnes, elle découvre une unique porte délabrée trônant au milieu des ruines, seul vestige ayant survécu au passage du temps. Cédant à une inexplicable impulsion, Suzume tourne la poignée, et d'autres portes s'ouvrent alors aux quatre coins du Japon, laissant entrer toutes les catastrophes qu'elles renferment. L'homme est formel : toute porte ouverte doit être fermée. Là où elle s'est égarée se trouvent les étoiles, le crépuscule et l'aube, une voûte céleste où tous les temps se confondent. Guidée par des portes nimbées de mystère, Suzume entame un périple en vue de toutes les refermer.",
"https://image.tmdb.org/t/p/w780/hOJYwkVSgXtE3BJFN0bRPKdLJLj.jpg",
)
const expectation = {
type: ADD_WATCHLATER,
payload: payload
};
expect(addMovieToWatchLater(payload)).toEqual(expectation);
});
})
describe('test actions add Favourite', () => {
it('should create an action with ADD_FAVOURITE type', () => {
const payload = new Movie(
916224,
"Suzume",
"https://image.tmdb.org/t/p/original/ceYZCBfwbBwSpGJ6PapNVw5jqLG.jpg",
121,
8.311,
"2022-11-11",
[
"Animation",
"Drame",
"Aventure",
"Fantastique",
],
"Dans une petite ville paisible de Kyushu, une jeune fille de 17 ans, Suzume, rencontre un homme qui dit voyager afin de chercher une porte. Décidant de le suivre dans les montagnes, elle découvre une unique porte délabrée trônant au milieu des ruines, seul vestige ayant survécu au passage du temps. Cédant à une inexplicable impulsion, Suzume tourne la poignée, et d'autres portes s'ouvrent alors aux quatre coins du Japon, laissant entrer toutes les catastrophes qu'elles renferment. L'homme est formel : toute porte ouverte doit être fermée. Là où elle s'est égarée se trouvent les étoiles, le crépuscule et l'aube, une voûte céleste où tous les temps se confondent. Guidée par des portes nimbées de mystère, Suzume entame un périple en vue de toutes les refermer.",
"https://image.tmdb.org/t/p/w780/hOJYwkVSgXtE3BJFN0bRPKdLJLj.jpg",
)
const expectation = {
type: ADD_FAVOURITE,
payload: payload
};
expect(addMovieToFavourite(payload)).toEqual(expectation);
});
})
describe('test actions load watchlater', () => {
it('should create an action with ADD_FAVOURITE type', () => {
const payload = new Movie(
916224,
"Suzume",
"https://image.tmdb.org/t/p/original/ceYZCBfwbBwSpGJ6PapNVw5jqLG.jpg",
121,
8.311,
"2022-11-11",
[
"Animation",
"Drame",
"Aventure",
"Fantastique",
],
"Dans une petite ville paisible de Kyushu, une jeune fille de 17 ans, Suzume, rencontre un homme qui dit voyager afin de chercher une porte. Décidant de le suivre dans les montagnes, elle découvre une unique porte délabrée trônant au milieu des ruines, seul vestige ayant survécu au passage du temps. Cédant à une inexplicable impulsion, Suzume tourne la poignée, et d'autres portes s'ouvrent alors aux quatre coins du Japon, laissant entrer toutes les catastrophes qu'elles renferment. L'homme est formel : toute porte ouverte doit être fermée. Là où elle s'est égarée se trouvent les étoiles, le crépuscule et l'aube, une voûte céleste où tous les temps se confondent. Guidée par des portes nimbées de mystère, Suzume entame un périple en vue de toutes les refermer.",
"https://image.tmdb.org/t/p/w780/hOJYwkVSgXtE3BJFN0bRPKdLJLj.jpg",
)
const expectation = {
type: LOAD_WATCHLATER,
payload: [payload]
};
expect(setWatchLater([payload])).toEqual(expectation);
});
})
describe('test actions load favourite', () => {
it('should create an action with LOAD_FAVOURITE type', () => {
const payload = new Movie(
916224,
"Suzume",
"https://image.tmdb.org/t/p/original/ceYZCBfwbBwSpGJ6PapNVw5jqLG.jpg",
121,
8.311,
"2022-11-11",
[
"Animation",
"Drame",
"Aventure",
"Fantastique",
],
"Dans une petite ville paisible de Kyushu, une jeune fille de 17 ans, Suzume, rencontre un homme qui dit voyager afin de chercher une porte. Décidant de le suivre dans les montagnes, elle découvre une unique porte délabrée trônant au milieu des ruines, seul vestige ayant survécu au passage du temps. Cédant à une inexplicable impulsion, Suzume tourne la poignée, et d'autres portes s'ouvrent alors aux quatre coins du Japon, laissant entrer toutes les catastrophes qu'elles renferment. L'homme est formel : toute porte ouverte doit être fermée. Là où elle s'est égarée se trouvent les étoiles, le crépuscule et l'aube, une voûte céleste où tous les temps se confondent. Guidée par des portes nimbées de mystère, Suzume entame un périple en vue de toutes les refermer.",
"https://image.tmdb.org/t/p/w780/hOJYwkVSgXtE3BJFN0bRPKdLJLj.jpg",
)
const expectation = {
type: LOAD_FAVOURITE,
payload: [payload]
};
expect(setFavourite([payload])).toEqual(expectation);
});
})
describe('test actions load info movies', () => {
it('should create an action with FETCH_TRENDING_MOVIE type', () => {
const payload = new Movie(
916224,
"Suzume",
"https://image.tmdb.org/t/p/original/ceYZCBfwbBwSpGJ6PapNVw5jqLG.jpg",
121,
8.311,
"2022-11-11",
[
"Animation",
"Drame",
"Aventure",
"Fantastique",
],
"Dans une petite ville paisible de Kyushu, une jeune fille de 17 ans, Suzume, rencontre un homme qui dit voyager afin de chercher une porte. Décidant de le suivre dans les montagnes, elle découvre une unique porte délabrée trônant au milieu des ruines, seul vestige ayant survécu au passage du temps. Cédant à une inexplicable impulsion, Suzume tourne la poignée, et d'autres portes s'ouvrent alors aux quatre coins du Japon, laissant entrer toutes les catastrophes qu'elles renferment. L'homme est formel : toute porte ouverte doit être fermée. Là où elle s'est égarée se trouvent les étoiles, le crépuscule et l'aube, une voûte céleste où tous les temps se confondent. Guidée par des portes nimbées de mystère, Suzume entame un périple en vue de toutes les refermer.",
"https://image.tmdb.org/t/p/w780/hOJYwkVSgXtE3BJFN0bRPKdLJLj.jpg",
)
const expectation = {
type: FETCH_TRENDING_MOVIE,
payload: [payload]
};
expect(setinfoMovie([payload])).toEqual(expectation);
});
})
describe('test actions remove movies', () => {
it('should create an action with removeMovieTrending type', () => {
const payload = new Movie(
916224,
"Suzume",
"https://image.tmdb.org/t/p/original/ceYZCBfwbBwSpGJ6PapNVw5jqLG.jpg",
121,
8.311,
"2022-11-11",
[
"Animation",
"Drame",
"Aventure",
"Fantastique",
],
"Dans une petite ville paisible de Kyushu, une jeune fille de 17 ans, Suzume, rencontre un homme qui dit voyager afin de chercher une porte. Décidant de le suivre dans les montagnes, elle découvre une unique porte délabrée trônant au milieu des ruines, seul vestige ayant survécu au passage du temps. Cédant à une inexplicable impulsion, Suzume tourne la poignée, et d'autres portes s'ouvrent alors aux quatre coins du Japon, laissant entrer toutes les catastrophes qu'elles renferment. L'homme est formel : toute porte ouverte doit être fermée. Là où elle s'est égarée se trouvent les étoiles, le crépuscule et l'aube, une voûte céleste où tous les temps se confondent. Guidée par des portes nimbées de mystère, Suzume entame un périple en vue de toutes les refermer.",
"https://image.tmdb.org/t/p/w780/hOJYwkVSgXtE3BJFN0bRPKdLJLj.jpg",
)
const expectation = {
type: POP_FIRST_TRENDING,
payload: payload
};
expect(removeMovieTrending(payload)).toEqual(expectation);
});
})

@ -1,7 +0,0 @@
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1',
},
};

@ -0,0 +1,3 @@
jest.mock('@react-native-async-storage/async-storage', () =>
require('@react-native-async-storage/async-storage/jest/async-storage-mock')
);

33557
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -7,10 +7,12 @@
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"test": "jest --watchAll"
"test": "jest"
},
"jest": {
"preset": "jest-expo"
"preset": "jest-expo",
"setupFiles": ["./jestSetupFile.js"]
},
"dependencies": {
"@expo/vector-icons": "^13.0.0",
@ -25,6 +27,8 @@
"@react-navigation/native-stack": "^6.1.0",
"@reacticons/ionicons": "^6.0.4",
"@reduxjs/toolkit": "^1.9.3",
"@testing-library/jest-native": "^5.4.2",
"@testing-library/react-native": "^12.0.1",
"deprecated-react-native-prop-types": "^4.0.0",
"expo": "~47.0.12",
"expo-asset": "~8.7.0",
@ -65,10 +69,11 @@
"@types/jest": "^29.5.0",
"@types/react": "~18.0.24",
"@types/react-native": "~0.70.6",
"jest": "^26.6.3",
"jest": "^29.5.0",
"jest-expo": "~47.0.1",
"react-test-renderer": "18.1.0",
"typescript": "^4.6.3"
"ts-jest": "^29.0.5",
"typescript": "^4.9.5"
},
"private": true
}
}

@ -83,6 +83,7 @@ export const getTrendingID = () => {
genreRow.push(genre.name);
});
console.log(new Movie(infoJson["id"], infoJson["title"], infoJson["poster_path"], infoJson["runtime"], infoJson["vote_average"], infoJson["release_date"], genreRow, infoJson["overview"], infoJson["backdrop_path"]))
// @ts-ignore
MovieList.push(new Movie(infoJson["id"], infoJson["title"], infoJson["poster_path"], infoJson["runtime"], infoJson["vote_average"], infoJson["release_date"], genreRow, infoJson["overview"], infoJson["backdrop_path"]))
})

Loading…
Cancel
Save