diff --git a/client/src/actions/presentation.ts b/client/src/actions/presentation.ts index 43232014b4fe8e77ad6b63fbc93660d8d9254e23..9e482d2b4c51d49fdd04dd8f18721a1e74e82d5a 100644 --- a/client/src/actions/presentation.ts +++ b/client/src/actions/presentation.ts @@ -7,7 +7,6 @@ export const getPresentationCompetition = (id: string) => async (dispatch: AppDi await axios .get(`/competitions/${id}`) .then((res) => { - console.log(res) dispatch({ type: Types.SET_PRESENTATION_COMPETITION, payload: res.data, @@ -22,7 +21,6 @@ export const getPresentationTeams = (id: string) => async (dispatch: AppDispatch await axios .get(`/competitions/${id}/teams`) .then((res) => { - console.log(res) dispatch({ type: Types.SET_PRESENTATION_TEAMS, payload: res.data.items, diff --git a/client/src/pages/admin/AdminPage.test.tsx b/client/src/pages/admin/AdminPage.test.tsx index efb56bb24b9ff8726e5a402816b3440f8a6107e6..ab694cee23501ef51a644c1df30f36662d9d36f6 100644 --- a/client/src/pages/admin/AdminPage.test.tsx +++ b/client/src/pages/admin/AdminPage.test.tsx @@ -1,4 +1,5 @@ import { render } from '@testing-library/react' +import mockedAxios from 'axios' import React from 'react' import { Provider } from 'react-redux' import { BrowserRouter } from 'react-router-dom' @@ -6,6 +7,42 @@ import store from '../../store' import AdminPage from './AdminPage' it('renders admin view', () => { + const cityRes: any = { + data: { + items: [ + { + id: 1, + name: 'Link\u00f6ping', + }, + { + id: 2, + name: 'Stockholm', + }, + ], + count: 2, + total_count: 3, + }, + } + const rolesRes: any = { + data: { + items: [ + { + id: 1, + name: 'role1', + }, + { + id: 2, + name: 'role2', + }, + ], + count: 2, + total_count: 3, + }, + } + ;(mockedAxios.get as jest.Mock).mockImplementation((path: string, params?: any) => { + if (path === '/misc/cities') return Promise.resolve(cityRes) + else return Promise.resolve(rolesRes) + }) render( <Provider store={store}> <BrowserRouter> diff --git a/client/src/pages/views/AudienceViewPage.test.tsx b/client/src/pages/views/AudienceViewPage.test.tsx index 984ee7f208e058536acbda91097a83a071f1273f..d00d4277e8b3a5021088b02a13947fb41f28b9f1 100644 --- a/client/src/pages/views/AudienceViewPage.test.tsx +++ b/client/src/pages/views/AudienceViewPage.test.tsx @@ -1,7 +1,13 @@ -import { Slide } from '@material-ui/core' import { render } from '@testing-library/react' import React from 'react' +import { Provider } from 'react-redux' +import store from '../../store' +import AudienceViewPage from './AudienceViewPage' -it('renders slide', () => { - render(<Slide />) +it('renders audience view page', () => { + render( + <Provider store={store}> + <AudienceViewPage /> + </Provider> + ) }) diff --git a/client/src/pages/views/JudgeViewPage.test.tsx b/client/src/pages/views/JudgeViewPage.test.tsx index 5ff1cc5d002eba5db9e9f13256ec4b32643aff4f..537dae4c570f3b7ed50dadaa9f60bae1be8823a2 100644 --- a/client/src/pages/views/JudgeViewPage.test.tsx +++ b/client/src/pages/views/JudgeViewPage.test.tsx @@ -1,7 +1,43 @@ import { render } from '@testing-library/react' +import mockedAxios from 'axios' import React from 'react' +import { Provider } from 'react-redux' +import { BrowserRouter } from 'react-router-dom' +import store from '../../store' import JudgeViewPage from './JudgeViewPage' it('renders judge view page', () => { - render(<JudgeViewPage />) + const compRes: any = { + data: { + slides: [{ id: 0, title: '' }], + }, + } + const teamsRes: any = { + data: { + items: [ + { + id: 1, + name: 'team1', + }, + { + id: 2, + name: 'team2', + }, + ], + count: 2, + total_count: 3, + }, + } + + ;(mockedAxios.get as jest.Mock).mockImplementation((path: string, params?: any) => { + if (path.endsWith('/teams')) return Promise.resolve(teamsRes) + else return Promise.resolve(compRes) + }) + render( + <BrowserRouter> + <Provider store={store}> + <JudgeViewPage /> + </Provider> + </BrowserRouter> + ) }) diff --git a/client/src/pages/views/ParticipantViewPage.test.tsx b/client/src/pages/views/ParticipantViewPage.test.tsx index f7154a9deb127480b2d92db08da12fc352656af3..85360e4ffe754f5887e9b654c45d0c921a67a3a0 100644 --- a/client/src/pages/views/ParticipantViewPage.test.tsx +++ b/client/src/pages/views/ParticipantViewPage.test.tsx @@ -1,7 +1,13 @@ import { render } from '@testing-library/react' import React from 'react' +import { Provider } from 'react-redux' +import store from '../../store' import ParticipantViewPage from './ParticipantViewPage' it('renders participant view page', () => { - render(<ParticipantViewPage />) + render( + <Provider store={store}> + <ParticipantViewPage /> + </Provider> + ) }) diff --git a/client/src/pages/views/PresenterViewPage.test.tsx b/client/src/pages/views/PresenterViewPage.test.tsx index 0647a87549e9f9544f31dd56a9778b57a8537f6f..fd7b0a9692e08354330b3e4db98c046649c0d10a 100644 --- a/client/src/pages/views/PresenterViewPage.test.tsx +++ b/client/src/pages/views/PresenterViewPage.test.tsx @@ -1,12 +1,43 @@ import { render } from '@testing-library/react' +import mockedAxios from 'axios' import React from 'react' +import { Provider } from 'react-redux' import { BrowserRouter } from 'react-router-dom' +import store from '../../store' import PresenterViewPage from './PresenterViewPage' it('renders presenter view page', () => { + const compRes: any = { + data: { + slides: [{ id: 0, title: '' }], + }, + } + const teamsRes: any = { + data: { + items: [ + { + id: 1, + name: 'team1', + }, + { + id: 2, + name: 'team2', + }, + ], + count: 2, + total_count: 3, + }, + } + + ;(mockedAxios.get as jest.Mock).mockImplementation((path: string, params?: any) => { + if (path.endsWith('/teams')) return Promise.resolve(teamsRes) + else return Promise.resolve(compRes) + }) render( <BrowserRouter> - <PresenterViewPage /> + <Provider store={store}> + <PresenterViewPage /> + </Provider> </BrowserRouter> ) }) diff --git a/client/src/pages/views/components/SlideDisplay.test.tsx b/client/src/pages/views/components/SlideDisplay.test.tsx index b3cfb1dc1daf6619211c3433a876cc126409cf0f..1a661d3340d503c71e149393db3cb00f1e2406c4 100644 --- a/client/src/pages/views/components/SlideDisplay.test.tsx +++ b/client/src/pages/views/components/SlideDisplay.test.tsx @@ -1,7 +1,13 @@ import { render } from '@testing-library/react' import React from 'react' +import { Provider } from 'react-redux' +import store from '../../../store' import SlideDisplay from './SlideDisplay' -it('renders audience view page', () => { - render(<SlideDisplay />) +it('renders slide display', () => { + render( + <Provider store={store}> + <SlideDisplay /> + </Provider> + ) }) diff --git a/server/app/apis/competitions.py b/server/app/apis/competitions.py index 8cdaf6dadf861c197082857131003849514faec8..9f17a932c4c47c6e127128b944986458df670988 100644 --- a/server/app/apis/competitions.py +++ b/server/app/apis/competitions.py @@ -38,6 +38,7 @@ class CompetitionsList(Resource): @api.route("/<ID>") @api.param("ID") class Competitions(Resource): + @jwt_required def get(self, ID): item = get_comp(ID) return item_response(schema.dump(item)) diff --git a/server/app/apis/teams.py b/server/app/apis/teams.py index 3eb09bc296be74034ebe814a69724598ec2a27f8..bec6cb6a81005ebf782c212319b0641ca9f3a35a 100644 --- a/server/app/apis/teams.py +++ b/server/app/apis/teams.py @@ -18,10 +18,12 @@ def get_comp(CID): @api.route("/") @api.param("CID") class TeamsList(Resource): + @jwt_required def get(self, CID): item_comp = get_comp(CID) return list_response(list_schema.dump(item_comp.teams)) + @jwt_required def post(self, CID): parser = reqparse.RequestParser() parser.add_argument("name", type=str, location="json")