Skip to content
Snippets Groups Projects
Commit 17a46abf authored by Bastien DUMONT's avatar Bastien DUMONT :angel:
Browse files

Merge branch 'rtl/profile-type' into 'dev'

test(rtl): profile type

See merge request !1055
parents 62df3f88 2cffd6e6
No related branches found
No related tags found
2 merge requests!10622.7 Release,!1055test(rtl): profile type
import { Button } from '@material-ui/core' import { render, screen } from '@testing-library/react'
import { mount } from 'enzyme' import userEvent from '@testing-library/user-event'
import React from 'react' import React from 'react'
import { Provider } from 'react-redux' import { Provider } from 'react-redux'
import UsageEventService from 'services/usageEvent.service' import UsageEventService from 'services/usageEvent.service'
...@@ -16,40 +16,36 @@ jest.mock('react-router-dom', () => ({ ...@@ -16,40 +16,36 @@ jest.mock('react-router-dom', () => ({
useNavigate: () => mockedNavigate, useNavigate: () => mockedNavigate,
})) }))
const mockAddEvent = jest.fn()
jest.mock('services/usageEvent.service') jest.mock('services/usageEvent.service')
UsageEventService.addEvent = mockAddEvent UsageEventService.addEvent = jest.fn()
const mockGetAllProfileTypes = jest.fn()
const mockDeleteProfileTypes = jest.fn()
jest.mock('services/profileTypeEntity.service', () => { jest.mock('services/profileTypeEntity.service', () => {
return jest.fn(() => ({ return jest.fn(() => ({
getAllProfileTypes: mockGetAllProfileTypes, getAllProfileTypes: jest.fn(),
deleteProfileTypes: mockDeleteProfileTypes, deleteProfileTypes: jest.fn(),
})) }))
}) })
describe('ProfileTypeFinished component', () => { describe('ProfileTypeFinished component', () => {
const store = createMockEcolyoStore() const store = createMockEcolyoStore()
beforeEach(() => {
jest.clearAllMocks()
})
it('should be rendered correctly', async () => { it('should be rendered correctly', async () => {
const wrapper = mount( const { container } = render(
<Provider store={store}> <Provider store={store}>
<ProfileTypeFinished profileType={mockProfileType} /> <ProfileTypeFinished profileType={mockProfileType} />
</Provider> </Provider>
) )
expect(wrapper.find('profile-type-finished-card')).toBeTruthy() expect(
container.getElementsByClassName('profile-type-finished-card')[0]
).toBeInTheDocument()
}) })
it('should go to ecogesture selection', () => { it('should go to ecogesture selection', async () => {
const wrapper = mount( render(
<Provider store={store}> <Provider store={store}>
<ProfileTypeFinished profileType={mockProfileType} /> <ProfileTypeFinished profileType={mockProfileType} />
</Provider> </Provider>
) )
wrapper.find(Button).first().simulate('click') await userEvent.click(screen.getAllByRole('button')[0])
expect(mockedNavigate).toHaveBeenCalledWith('/ecogesture-selection') expect(mockedNavigate).toHaveBeenCalledWith('/ecogesture-selection')
}) })
}) })
import { render, screen } from '@testing-library/react'
import { ProfileTypeStepForm } from 'enums' import { ProfileTypeStepForm } from 'enums'
import { mount } from 'enzyme'
import React from 'react' import React from 'react'
import { Provider } from 'react-redux' import { Provider } from 'react-redux'
import { import {
...@@ -9,25 +9,22 @@ import { ...@@ -9,25 +9,22 @@ import {
import { createMockEcolyoStore } from 'tests/__mocks__/store' import { createMockEcolyoStore } from 'tests/__mocks__/store'
import ProfileTypeFormMultiChoice from './ProfileTypeFormMultiChoice' import ProfileTypeFormMultiChoice from './ProfileTypeFormMultiChoice'
const mockHandlePrevious = jest.fn()
const mockHandleNext = jest.fn()
describe('ProfileTypeFormMultiChoice component', () => { describe('ProfileTypeFormMultiChoice component', () => {
const store = createMockEcolyoStore() const store = createMockEcolyoStore()
it('should be rendered correctly', () => { it('should be rendered correctly', () => {
const wrapper = mount( render(
<Provider store={store}> <Provider store={store}>
<ProfileTypeFormMultiChoice <ProfileTypeFormMultiChoice
step={ProfileTypeStepForm.COOKING_FLUID} step={ProfileTypeStepForm.COOKING_FLUID}
viewedStep={ProfileTypeStepForm.AREA} viewedStep={ProfileTypeStepForm.AREA}
currentProfileType={mockProfileType} currentProfileType={mockProfileType}
answerType={mockProfileTypeAnswers[1]} answerType={mockProfileTypeAnswers[8]}
setNextStep={mockHandlePrevious} setNextStep={jest.fn()}
setPreviousStep={mockHandleNext} setPreviousStep={jest.fn()}
/> />
</Provider> </Provider>
) )
expect(wrapper.find('input')).toBeTruthy() expect(screen.getAllByRole('checkbox').length).toBeTruthy()
}) })
}) })
import { render, screen } from '@testing-library/react'
import { ProfileTypeStepForm } from 'enums' import { ProfileTypeStepForm } from 'enums'
import { mount } from 'enzyme'
import React from 'react' import React from 'react'
import { Provider } from 'react-redux' import { Provider } from 'react-redux'
import { import {
...@@ -9,25 +9,22 @@ import { ...@@ -9,25 +9,22 @@ import {
import { createMockEcolyoStore } from 'tests/__mocks__/store' import { createMockEcolyoStore } from 'tests/__mocks__/store'
import ProfileTypeFormNumber from './ProfileTypeFormNumber' import ProfileTypeFormNumber from './ProfileTypeFormNumber'
const mockHandlePrevious = jest.fn()
const mockHandleNext = jest.fn()
describe('ProfileTypeFormNumber component', () => { describe('ProfileTypeFormNumber component', () => {
const store = createMockEcolyoStore() const store = createMockEcolyoStore()
it('should be rendered correctly', () => { it('should be rendered correctly', () => {
const wrapper = mount( render(
<Provider store={store}> <Provider store={store}>
<ProfileTypeFormNumber <ProfileTypeFormNumber
step={ProfileTypeStepForm.COOKING_FLUID} step={ProfileTypeStepForm.COOKING_FLUID}
viewedStep={ProfileTypeStepForm.AREA} viewedStep={ProfileTypeStepForm.AREA}
currentProfileType={mockProfileType} currentProfileType={mockProfileType}
answerType={mockProfileTypeAnswers[1]} answerType={mockProfileTypeAnswers[1]}
setNextStep={mockHandlePrevious} setNextStep={jest.fn()}
setPreviousStep={mockHandleNext} setPreviousStep={jest.fn()}
/> />
</Provider> </Provider>
) )
expect(wrapper.find('input')).toBeTruthy() expect(screen.getByRole('spinbutton')).toBeInTheDocument()
}) })
}) })
import { render } from '@testing-library/react'
import { ProfileTypeStepForm } from 'enums' import { ProfileTypeStepForm } from 'enums'
import { mount } from 'enzyme'
import React from 'react' import React from 'react'
import { Provider } from 'react-redux' import { Provider } from 'react-redux'
import { import {
...@@ -9,25 +9,22 @@ import { ...@@ -9,25 +9,22 @@ import {
import { createMockEcolyoStore } from 'tests/__mocks__/store' import { createMockEcolyoStore } from 'tests/__mocks__/store'
import ProfileTypeFormNumberSelection from './ProfileTypeFormNumberSelection' import ProfileTypeFormNumberSelection from './ProfileTypeFormNumberSelection'
const mockHandlePrevious = jest.fn()
const mockHandleNext = jest.fn()
describe('ProfileTypeFormNumberSelection component', () => { describe('ProfileTypeFormNumberSelection component', () => {
const store = createMockEcolyoStore() const store = createMockEcolyoStore()
it('should be rendered correctly', () => { it('should be rendered correctly', async () => {
const wrapper = mount( const { container } = render(
<Provider store={store}> <Provider store={store}>
<ProfileTypeFormNumberSelection <ProfileTypeFormNumberSelection
step={ProfileTypeStepForm.COOKING_FLUID} step={ProfileTypeStepForm.COOKING_FLUID}
viewedStep={ProfileTypeStepForm.AREA} viewedStep={ProfileTypeStepForm.AREA}
currentProfileType={mockProfileType} currentProfileType={mockProfileType}
answerType={mockProfileTypeAnswers[3]} answerType={mockProfileTypeAnswers[3]}
setNextStep={mockHandleNext} setNextStep={jest.fn()}
setPreviousStep={mockHandlePrevious} setPreviousStep={jest.fn()}
/> />
</Provider> </Provider>
) )
expect(wrapper.find('input')).toBeTruthy() expect(container.getElementsByTagName('input')[0]).toBeInTheDocument()
}) })
}) })
import { render, screen } from '@testing-library/react'
import { ProfileTypeStepForm } from 'enums' import { ProfileTypeStepForm } from 'enums'
import { mount } from 'enzyme'
import React from 'react' import React from 'react'
import { Provider } from 'react-redux' import { Provider } from 'react-redux'
import { import {
...@@ -9,25 +9,22 @@ import { ...@@ -9,25 +9,22 @@ import {
import { createMockEcolyoStore } from 'tests/__mocks__/store' import { createMockEcolyoStore } from 'tests/__mocks__/store'
import ProfileTypeFormSingleChoice from './ProfileTypeFormSingleChoice' import ProfileTypeFormSingleChoice from './ProfileTypeFormSingleChoice'
const mockHandlePrevious = jest.fn()
const mockHandleNext = jest.fn()
describe('ProfileTypeFormSingleChoice component', () => { describe('ProfileTypeFormSingleChoice component', () => {
const store = createMockEcolyoStore() const store = createMockEcolyoStore()
it('should be rendered correctly', () => { it('should be rendered correctly', () => {
const wrapper = mount( render(
<Provider store={store}> <Provider store={store}>
<ProfileTypeFormSingleChoice <ProfileTypeFormSingleChoice
step={ProfileTypeStepForm.COOKING_FLUID} step={ProfileTypeStepForm.COOKING_FLUID}
viewedStep={ProfileTypeStepForm.AREA} viewedStep={ProfileTypeStepForm.AREA}
currentProfileType={mockProfileType} currentProfileType={mockProfileType}
answerType={mockProfileTypeAnswers[1]} answerType={mockProfileTypeAnswers[3]}
setNextStep={mockHandleNext} setNextStep={jest.fn()}
setPreviousStep={mockHandlePrevious} setPreviousStep={jest.fn()}
/> />
</Provider> </Provider>
) )
expect(wrapper.find('input')).toBeTruthy() expect(screen.getAllByRole('radio').length).toBeTruthy()
}) })
}) })
import { render } from '@testing-library/react'
import ProfileTypeView from 'components/ProfileType/ProfileTypeView' import ProfileTypeView from 'components/ProfileType/ProfileTypeView'
import { mount } from 'enzyme'
import React from 'react' import React from 'react'
import { Provider } from 'react-redux' import { Provider } from 'react-redux'
import { createMockEcolyoStore } from 'tests/__mocks__/store' import { createMockEcolyoStore } from 'tests/__mocks__/store'
...@@ -12,14 +12,20 @@ describe('ProfileTypeView component', () => { ...@@ -12,14 +12,20 @@ describe('ProfileTypeView component', () => {
const store = createMockEcolyoStore() const store = createMockEcolyoStore()
it('should be rendered correctly', () => { it('should be rendered correctly', () => {
const wrapper = mount( const { container } = render(
<Provider store={store}> <Provider store={store}>
<ProfileTypeView /> <ProfileTypeView />
</Provider> </Provider>
) )
expect(wrapper.find('mock-cozybar').exists()).toBeTruthy() expect(
expect(wrapper.find('mock-header').exists()).toBeTruthy() container.getElementsByTagName('mock-cozybar')[0]
expect(wrapper.find('mock-content').exists()).toBeTruthy() ).toBeInTheDocument()
expect(wrapper.find('.profile-type-container').exists()).toBeTruthy() expect(container.getElementsByTagName('mock-header')[0]).toBeInTheDocument()
expect(
container.getElementsByTagName('mock-content')[0]
).toBeInTheDocument()
expect(
container.getElementsByClassName('profile-type-container')[0]
).toBeInTheDocument()
}) })
}) })
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment