Skip to content
Snippets Groups Projects
Commit 4df4d013 authored by Albin Henriksson's avatar Albin Henriksson
Browse files

add back jwt_required, fix tests

parent b7852065
No related branches found
No related tags found
1 merge request!51Resolve "Add routes and template for Presentation view"
Pipeline #39380 passed with warnings
...@@ -7,7 +7,6 @@ export const getPresentationCompetition = (id: string) => async (dispatch: AppDi ...@@ -7,7 +7,6 @@ export const getPresentationCompetition = (id: string) => async (dispatch: AppDi
await axios await axios
.get(`/competitions/${id}`) .get(`/competitions/${id}`)
.then((res) => { .then((res) => {
console.log(res)
dispatch({ dispatch({
type: Types.SET_PRESENTATION_COMPETITION, type: Types.SET_PRESENTATION_COMPETITION,
payload: res.data, payload: res.data,
...@@ -22,7 +21,6 @@ export const getPresentationTeams = (id: string) => async (dispatch: AppDispatch ...@@ -22,7 +21,6 @@ export const getPresentationTeams = (id: string) => async (dispatch: AppDispatch
await axios await axios
.get(`/competitions/${id}/teams`) .get(`/competitions/${id}/teams`)
.then((res) => { .then((res) => {
console.log(res)
dispatch({ dispatch({
type: Types.SET_PRESENTATION_TEAMS, type: Types.SET_PRESENTATION_TEAMS,
payload: res.data.items, payload: res.data.items,
......
import { render } from '@testing-library/react' import { render } from '@testing-library/react'
import mockedAxios from 'axios'
import React from 'react' import React from 'react'
import { Provider } from 'react-redux' import { Provider } from 'react-redux'
import { BrowserRouter } from 'react-router-dom' import { BrowserRouter } from 'react-router-dom'
...@@ -6,6 +7,42 @@ import store from '../../store' ...@@ -6,6 +7,42 @@ import store from '../../store'
import AdminPage from './AdminPage' import AdminPage from './AdminPage'
it('renders admin view', () => { 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( render(
<Provider store={store}> <Provider store={store}>
<BrowserRouter> <BrowserRouter>
......
import { Slide } from '@material-ui/core'
import { render } from '@testing-library/react' import { render } from '@testing-library/react'
import React from 'react' import React from 'react'
import { Provider } from 'react-redux'
import store from '../../store'
import AudienceViewPage from './AudienceViewPage'
it('renders slide', () => { it('renders audience view page', () => {
render(<Slide />) render(
<Provider store={store}>
<AudienceViewPage />
</Provider>
)
}) })
import { render } from '@testing-library/react' import { render } from '@testing-library/react'
import mockedAxios from 'axios'
import React from 'react' import React from 'react'
import { Provider } from 'react-redux'
import { BrowserRouter } from 'react-router-dom'
import store from '../../store'
import JudgeViewPage from './JudgeViewPage' import JudgeViewPage from './JudgeViewPage'
it('renders judge view page', () => { 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>
)
}) })
import { render } from '@testing-library/react' import { render } from '@testing-library/react'
import React from 'react' import React from 'react'
import { Provider } from 'react-redux'
import store from '../../store'
import ParticipantViewPage from './ParticipantViewPage' import ParticipantViewPage from './ParticipantViewPage'
it('renders participant view page', () => { it('renders participant view page', () => {
render(<ParticipantViewPage />) render(
<Provider store={store}>
<ParticipantViewPage />
</Provider>
)
}) })
import { render } from '@testing-library/react' import { render } from '@testing-library/react'
import mockedAxios from 'axios'
import React from 'react' import React from 'react'
import { Provider } from 'react-redux'
import { BrowserRouter } from 'react-router-dom' import { BrowserRouter } from 'react-router-dom'
import store from '../../store'
import PresenterViewPage from './PresenterViewPage' import PresenterViewPage from './PresenterViewPage'
it('renders presenter view page', () => { 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( render(
<BrowserRouter> <BrowserRouter>
<PresenterViewPage /> <Provider store={store}>
<PresenterViewPage />
</Provider>
</BrowserRouter> </BrowserRouter>
) )
}) })
import { render } from '@testing-library/react' import { render } from '@testing-library/react'
import React from 'react' import React from 'react'
import { Provider } from 'react-redux'
import store from '../../../store'
import SlideDisplay from './SlideDisplay' import SlideDisplay from './SlideDisplay'
it('renders audience view page', () => { it('renders slide display', () => {
render(<SlideDisplay />) render(
<Provider store={store}>
<SlideDisplay />
</Provider>
)
}) })
...@@ -38,6 +38,7 @@ class CompetitionsList(Resource): ...@@ -38,6 +38,7 @@ class CompetitionsList(Resource):
@api.route("/<ID>") @api.route("/<ID>")
@api.param("ID") @api.param("ID")
class Competitions(Resource): class Competitions(Resource):
@jwt_required
def get(self, ID): def get(self, ID):
item = get_comp(ID) item = get_comp(ID)
return item_response(schema.dump(item)) return item_response(schema.dump(item))
......
...@@ -18,10 +18,12 @@ def get_comp(CID): ...@@ -18,10 +18,12 @@ def get_comp(CID):
@api.route("/") @api.route("/")
@api.param("CID") @api.param("CID")
class TeamsList(Resource): class TeamsList(Resource):
@jwt_required
def get(self, CID): def get(self, CID):
item_comp = get_comp(CID) item_comp = get_comp(CID)
return list_response(list_schema.dump(item_comp.teams)) return list_response(list_schema.dump(item_comp.teams))
@jwt_required
def post(self, CID): def post(self, CID):
parser = reqparse.RequestParser() parser = reqparse.RequestParser()
parser.add_argument("name", type=str, location="json") parser.add_argument("name", type=str, location="json")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment