diff --git a/src/components/pages/Offer/RawOffer.js b/src/components/pages/Offer/RawOffer.js index 40d11a7662..8f8c4c2a89 100644 --- a/src/components/pages/Offer/RawOffer.js +++ b/src/components/pages/Offer/RawOffer.js @@ -105,6 +105,7 @@ class RawOffer extends Component { query, types, } = this.props + const { offererId, venueId } = translateQueryParamsToApiParams( query.parse() ) diff --git a/src/components/pages/Offer/tests/RawOffer.spec.jsx b/src/components/pages/Offer/tests/RawOffer.spec.jsx new file mode 100644 index 0000000000..7dfc167480 --- /dev/null +++ b/src/components/pages/Offer/tests/RawOffer.spec.jsx @@ -0,0 +1,254 @@ +import React from 'react' +import { shallow } from 'enzyme' +import configureStore from 'redux-mock-store' + +import RawOffer from '../RawOffer' +import MediationsManager from '../MediationsManager/index' +import { requestData } from 'redux-saga-data' + +import { offerNormalizer } from 'utils/normalizers' + +const dispatchMock = jest.fn() + +describe('src | components | pages | Offer | RawOffer ', () => { + describe('snapshot', () => { + it('should match snapshot', () => { + // given + const initialProps = { + location: { + search: '?lieu=AQ', + }, + match: { + params: { + offerId: 'N9', + }, + }, + currentUser: { + isAdmin: false, + }, + query: { + parse: () => ({ lieu: 'AQ' }), + }, + dispatch: dispatchMock, + venues: [], + } + + // when + const wrapper = shallow() + + // then + expect(wrapper).toBeDefined() + expect(wrapper).toMatchSnapshot() + }) + }) + describe('render', () => { + describe('MediationsManager', () => { + it("should be displayed when it's not a new offer", () => { + // given + const initialProps = { + location: { + search: '?lieu=AQ', + }, + match: { + params: { + offerId: 'N9', + }, + }, + currentUser: { + isAdmin: false, + }, + query: { + parse: () => ({ lieu: 'AQ' }), + }, + dispatch: dispatchMock, + offer: { + bookingEmail: 'fake@email.com', + dateCreated: '2019-03-29T15:38:23.806900Z', + dateModifiedAtLastProvider: '2019-03-29T15:38:23.806874Z', + eventId: null, + id: 'N9', + idAtProviders: null, + isActive: true, + lastProviderId: null, + modelName: 'Offer', + thingId: '94', + venueId: 'AQ', + }, + } + + // when + const wrapper = shallow() + const mediationsManagerComponent = wrapper.find(MediationsManager) + + // then + expect(mediationsManagerComponent).toHaveLength(1) + }) + }) + }) + + describe('functions', () => { + describe('handleDataRequest', () => { + describe('When OfferId is not nouveau and venue is given', () => { + it('should first dispatch requestData when Main component is rendered', () => { + // given + const initialProps = { + location: { + search: '?lieu=AQ', + }, + match: { + params: { + offerId: 'N9', + }, + }, + currentUser: { + isAdmin: false, + }, + history: { + action: 'POP', + location: { + pathname: '/offres/N9', + search: '?lieu=AQ', + hash: '', + state: undefined, + key: 'c5cg3o', + }, + }, + query: { + parse: () => ({ lieu: 'AQ' }), + }, + dispatch: dispatchMock, + offerers: [], + venues: [], + providers: [], + types: [], + } + + // when + const wrapper = shallow() + + const handleSuccess = jest.fn(() => {}) + + console.log('GET STATE in test', wrapper.state()) + console.log('props in test', wrapper.props()) + + wrapper.props().handleDataRequest(handleSuccess) + const expectedRequestedGetTypes = { + keepComponentMounted: undefined, + type: 'CLOSE_MODAL', + } + + const toto3 = { + config: { + apiPath: '/offers/N9', + method: 'GET', + normalizer: offerNormalizer, + stateKey: 'offers', + }, + type: 'REQUEST_DATA_GET_OFFERS', + } + + const toto4 = { + config: { + apiPath: '/offerers', + method: 'GET', + normalizer: { + managedVenues: 'venues', + }, + }, + type: 'REQUEST_DATA_GET_/OFFERERS', + } + + const toto5 = { + config: { + apiPath: '/providers', + method: 'GET', + }, + type: 'REQUEST_DATA_GET_/PROVIDERS', + } + + const toto6 = { + config: { + apiPath: '/types', + method: 'GET', + }, + type: 'REQUEST_DATA_GET_/TYPES', + } + + // then + expect(dispatchMock).toHaveBeenCalled() + expect(dispatchMock.mock.calls.length).toEqual(7) + expect(dispatchMock.mock.calls[0][0]).toEqual( + expectedRequestedGetTypes + ) + expect(dispatchMock.mock.calls[1][0]).toEqual( + expectedRequestedGetTypes + ) + expect(dispatchMock.mock.calls[2][0]).toEqual( + expectedRequestedGetTypes + ) + expect(dispatchMock.mock.calls[3][0]).toEqual(toto3) + expect(dispatchMock.mock.calls[4][0]).toEqual(toto4) + expect(dispatchMock.mock.calls[5][0]).toEqual(toto5) + expect(dispatchMock.mock.calls[6][0]).toEqual(toto6) + }) + }) + describe.skip('When venueId', () => { + it('????', () => { + // query parse {lieu: "DY"} + // RawOffer.js:118 QQQQQQQQQQQ Venue Id DY + // RawOffer.js:119 QQQQQQQQQQQ OffererID undefined + // je créé un lieu et je peux ajouter une offre http://localhost:3001/offres/nouveau?lieu=DY + }) + }) + describe.skip('When OfferId is nouveau', () => { + // /offres/nouveau?structure=BU + + // venueId est undefined // offererId = BU + + it('should ', () => { + // given + const initialProps = { + location: { + search: '?structure=BU', + }, + } + + // when + + // then + }) + }) + describe('When no venue at all and new offer', () => { + it('should display modal', () => { + // query parse {} + // RawOffer.js:118 QQQQQQQQQQQ Venue Id undefined + // RawOffer.js:119 QQQQQQQQQQQ OffererID undefined + }) + }) + describe('When one venue and new offer', () => { + it('???', () => { + // url : http://localhost:3001/offres/nouveau + // Venue Id undefined + // OffererID undefined + + // given + + const initialProps = { + history: {}, + dispatch: dispatchMock, + match: { + params: { offerId: 'nouveau' }, + }, + offerers: [], + venues: [], + providers: [], + query: { + parse: () => ({}), + }, + types: [], + } + }) + }) + }) + }) +}) diff --git a/src/components/pages/Offer/tests/__snapshots__/RawOffer.spec.jsx.snap b/src/components/pages/Offer/tests/__snapshots__/RawOffer.spec.jsx.snap new file mode 100644 index 0000000000..5469f23d31 --- /dev/null +++ b/src/components/pages/Offer/tests/__snapshots__/RawOffer.spec.jsx.snap @@ -0,0 +1,2282 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`src | components | pages | Offer | RawOffer snapshot should match snapshot 1`] = ` +ShallowWrapper { + Symbol(enzyme.__root__): [Circular], + Symbol(enzyme.__unrendered__): , + Symbol(enzyme.__renderer__): Object { + "batchedUpdates": [Function], + "checkPropTypes": [Function], + "getNode": [Function], + "render": [Function], + "simulateError": [Function], + "simulateEvent": [Function], + "unmount": [Function], + }, + Symbol(enzyme.__node__): Object { + "instance": null, + "key": undefined, + "nodeType": "function", + "props": Object { + "backTo": Object { + "label": "Vos offres", + "path": "/offres", + }, + "children": +

+ Renseignez les détails de cette offre, puis mettez-la en avant en ajoutant une ou plusieurs accroches. +

+

+ Attention : les offres payantes ne seront visibles auprès du public qu’à partir du début de l’expérimentation. +

+ +
+ + +
+ +
+

+ Infos pratiques +

+
+ + + +
+

+ Infos artistiques +

+
+ +
+
+
+
+
+ + Modifier l'offre + +
+
+ + Terminer + +
+
+
+
, + "handleDataRequest": [Function], + "name": "offer", + }, + "ref": null, + "rendered": Object { + "instance": null, + "key": undefined, + "nodeType": "function", + "props": Object { + "children": Array [ +

+ Renseignez les détails de cette offre, puis mettez-la en avant en ajoutant une ou plusieurs accroches. +

, +

+ Attention : les offres payantes ne seront visibles auprès du public qu’à partir du début de l’expérimentation. +

, + +
+ + +
+ +
+

+ Infos pratiques +

+
+ + + +
+

+ Infos artistiques +

+
+ +
+
+
+
+
+ + Modifier l'offre + +
+
+ + Terminer + +
+
+
, + ], + "subtitle": undefined, + "title": "Détails de l'offre", + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": "Renseignez les détails de cette offre, puis mettez-la en avant en ajoutant une ou plusieurs accroches.", + "className": "subtitle", + }, + "ref": null, + "rendered": "Renseignez les détails de cette offre, puis mettez-la en avant en ajoutant une ou plusieurs accroches.", + "type": "p", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": "Attention : les offres payantes ne seront visibles auprès du public qu’à partir du début de l’expérimentation.", + "className": "subtitle", + }, + "ref": null, + "rendered": "Attention : les offres payantes ne seront visibles auprès du public qu’à partir du début de l’expérimentation.", + "type": "p", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "function", + "props": Object { + "BlockComponent": null, + "Tag": "form", + "action": "things/", + "children": Array [ +
+ + +
, + , +
+

+ Infos pratiques +

+
+ + + +
+

+ Infos artistiques +

+
+ +
+
, +
, +
+
+ + Modifier l'offre + +
+
+ + Terminer + +
+
, + ], + "className": null, + "errorsPatch": Object {}, + "failNotification": "Formulaire non validé", + "formPatch": Object {}, + "formatPatch": [Function], + "handleFail": null, + "handleFailNotification": null, + "handleFailRedirect": null, + "handleSuccess": [Function], + "handleSuccessNotification": null, + "handleSuccessRedirect": null, + "name": "offer", + "normalizer": null, + "onEnterKey": null, + "onEscapeKey": null, + "onSubmit": null, + "patch": undefined, + "readOnly": true, + "successNotification": "Formulaire non validé", + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": Array [ + , + , + false, + false, + undefined, + ], + "className": "field-group", + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "class", + "props": Object { + "displayValue": [Function], + "errors": null, + "isExpanded": true, + "label": "Titre de l'offre", + "layout": "horizontal", + "name": "name", + "required": true, + "size": "normal", + "storeValue": [Function], + }, + "ref": null, + "rendered": null, + "type": [Function], + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "class", + "props": Object { + "displayValue": [Function], + "errors": null, + "label": "Type", + "layout": "horizontal", + "name": "type", + "optionLabel": "label", + "optionValue": "value", + "options": undefined, + "placeholder": "Sélectionnez un type d'offre", + "readOnly": undefined, + "required": true, + "size": "normal", + "storeValue": [Function], + "sublabel": "Le type d'offre ne peut pas être modifié une fois l'offre enregistrée.", + "type": "select", + }, + "ref": null, + "rendered": null, + "type": [Function], + }, + false, + false, + undefined, + ], + "type": "div", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "function", + "props": Object {}, + "ref": null, + "rendered": null, + "type": [Function], + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": Array [ +

+ Infos pratiques +

, +
+ + + +
, +

+ Infos artistiques +

, +
+ +
, + ], + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": "Infos pratiques", + "className": "main-list-title", + }, + "ref": null, + "rendered": "Infos pratiques", + "type": "h2", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": Array [ + , + undefined, + , + undefined, + false, + undefined, + , + ], + "className": "field-group", + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "class", + "props": Object { + "debug": true, + "displayValue": [Function], + "errors": null, + "label": "Structure", + "layout": "horizontal", + "name": "offererId", + "options": undefined, + "placeholder": "Sélectionnez une structure", + "readOnly": false, + "required": true, + "size": "normal", + "storeValue": [Function], + "type": "select", + }, + "ref": null, + "rendered": null, + "type": [Function], + }, + undefined, + Object { + "instance": null, + "key": undefined, + "nodeType": "class", + "props": Object { + "displayValue": [Function], + "errors": null, + "label": "Lieu", + "layout": "horizontal", + "name": "venueId", + "options": Array [], + "placeholder": "Sélectionnez un lieu", + "readOnly": false, + "required": true, + "size": "normal", + "storeValue": [Function], + "type": "select", + }, + "ref": null, + "rendered": null, + "type": [Function], + }, + undefined, + false, + undefined, + Object { + "instance": null, + "key": undefined, + "nodeType": "class", + "props": Object { + "displayValue": [Function], + "errors": null, + "label": "Email auquel envoyer les réservations", + "layout": "horizontal", + "name": "bookingEmail", + "size": "normal", + "storeValue": [Function], + "sublabel": "Merci de laisser ce champ vide si vous ne souhaitez pas recevoir d'email lors des réservations", + "type": "email", + }, + "ref": null, + "rendered": null, + "type": [Function], + }, + ], + "type": "div", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": "Infos artistiques", + "className": "main-list-title", + }, + "ref": null, + "rendered": "Infos artistiques", + "type": "h2", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": Array [ + , + false, + false, + false, + false, + false, + false, + ], + "className": "field-group", + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "class", + "props": Object { + "displayMaxLength": true, + "displayValue": [Function], + "errors": null, + "isExpanded": true, + "label": "Description", + "layout": "horizontal", + "maxLength": 1000, + "name": "description", + "rows": 1, + "size": "normal", + "storeValue": [Function], + "type": "textarea", + }, + "ref": null, + "rendered": null, + "type": [Function], + }, + false, + false, + false, + false, + false, + false, + ], + "type": "div", + }, + ], + "type": "div", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object {}, + "ref": null, + "rendered": null, + "type": "hr", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": Array [ +
+ + Modifier l'offre + +
, +
+ + Terminer + +
, + ], + "className": "field is-grouped is-grouped-centered", + "style": Object { + "justifyContent": "space-between", + }, + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": + Modifier l'offre +, + "className": "control", + }, + "ref": null, + "rendered": Object { + "instance": null, + "key": undefined, + "nodeType": "function", + "props": Object { + "activeClassName": "active", + "aria-current": "page", + "children": "Modifier l'offre", + "className": "button is-secondary is-medium", + "to": "/offres/undefined?modifie", + }, + "ref": null, + "rendered": "Modifier l'offre", + "type": [Function], + }, + "type": "div", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": + Terminer +, + "className": "control", + }, + "ref": null, + "rendered": Object { + "instance": null, + "key": undefined, + "nodeType": "function", + "props": Object { + "activeClassName": "active", + "aria-current": "page", + "children": Array [ + "Terminer ", + undefined, + ], + "className": "button is-primary is-medium", + "to": "/offres", + }, + "ref": null, + "rendered": Array [ + "Terminer ", + undefined, + ], + "type": [Function], + }, + "type": "div", + }, + ], + "type": "div", + }, + ], + "type": [Function], + }, + ], + "type": [Function], + }, + "type": [Function], + }, + Symbol(enzyme.__nodes__): Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "function", + "props": Object { + "backTo": Object { + "label": "Vos offres", + "path": "/offres", + }, + "children": +

+ Renseignez les détails de cette offre, puis mettez-la en avant en ajoutant une ou plusieurs accroches. +

+

+ Attention : les offres payantes ne seront visibles auprès du public qu’à partir du début de l’expérimentation. +

+ +
+ + +
+ +
+

+ Infos pratiques +

+
+ + + +
+

+ Infos artistiques +

+
+ +
+
+
+
+
+ + Modifier l'offre + +
+
+ + Terminer + +
+
+
+
, + "handleDataRequest": [Function], + "name": "offer", + }, + "ref": null, + "rendered": Object { + "instance": null, + "key": undefined, + "nodeType": "function", + "props": Object { + "children": Array [ +

+ Renseignez les détails de cette offre, puis mettez-la en avant en ajoutant une ou plusieurs accroches. +

, +

+ Attention : les offres payantes ne seront visibles auprès du public qu’à partir du début de l’expérimentation. +

, + +
+ + +
+ +
+

+ Infos pratiques +

+
+ + + +
+

+ Infos artistiques +

+
+ +
+
+
+
+
+ + Modifier l'offre + +
+
+ + Terminer + +
+
+
, + ], + "subtitle": undefined, + "title": "Détails de l'offre", + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": "Renseignez les détails de cette offre, puis mettez-la en avant en ajoutant une ou plusieurs accroches.", + "className": "subtitle", + }, + "ref": null, + "rendered": "Renseignez les détails de cette offre, puis mettez-la en avant en ajoutant une ou plusieurs accroches.", + "type": "p", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": "Attention : les offres payantes ne seront visibles auprès du public qu’à partir du début de l’expérimentation.", + "className": "subtitle", + }, + "ref": null, + "rendered": "Attention : les offres payantes ne seront visibles auprès du public qu’à partir du début de l’expérimentation.", + "type": "p", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "function", + "props": Object { + "BlockComponent": null, + "Tag": "form", + "action": "things/", + "children": Array [ +
+ + +
, + , +
+

+ Infos pratiques +

+
+ + + +
+

+ Infos artistiques +

+
+ +
+
, +
, +
+
+ + Modifier l'offre + +
+
+ + Terminer + +
+
, + ], + "className": null, + "errorsPatch": Object {}, + "failNotification": "Formulaire non validé", + "formPatch": Object {}, + "formatPatch": [Function], + "handleFail": null, + "handleFailNotification": null, + "handleFailRedirect": null, + "handleSuccess": [Function], + "handleSuccessNotification": null, + "handleSuccessRedirect": null, + "name": "offer", + "normalizer": null, + "onEnterKey": null, + "onEscapeKey": null, + "onSubmit": null, + "patch": undefined, + "readOnly": true, + "successNotification": "Formulaire non validé", + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": Array [ + , + , + false, + false, + undefined, + ], + "className": "field-group", + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "class", + "props": Object { + "displayValue": [Function], + "errors": null, + "isExpanded": true, + "label": "Titre de l'offre", + "layout": "horizontal", + "name": "name", + "required": true, + "size": "normal", + "storeValue": [Function], + }, + "ref": null, + "rendered": null, + "type": [Function], + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "class", + "props": Object { + "displayValue": [Function], + "errors": null, + "label": "Type", + "layout": "horizontal", + "name": "type", + "optionLabel": "label", + "optionValue": "value", + "options": undefined, + "placeholder": "Sélectionnez un type d'offre", + "readOnly": undefined, + "required": true, + "size": "normal", + "storeValue": [Function], + "sublabel": "Le type d'offre ne peut pas être modifié une fois l'offre enregistrée.", + "type": "select", + }, + "ref": null, + "rendered": null, + "type": [Function], + }, + false, + false, + undefined, + ], + "type": "div", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "function", + "props": Object {}, + "ref": null, + "rendered": null, + "type": [Function], + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": Array [ +

+ Infos pratiques +

, +
+ + + +
, +

+ Infos artistiques +

, +
+ +
, + ], + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": "Infos pratiques", + "className": "main-list-title", + }, + "ref": null, + "rendered": "Infos pratiques", + "type": "h2", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": Array [ + , + undefined, + , + undefined, + false, + undefined, + , + ], + "className": "field-group", + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "class", + "props": Object { + "debug": true, + "displayValue": [Function], + "errors": null, + "label": "Structure", + "layout": "horizontal", + "name": "offererId", + "options": undefined, + "placeholder": "Sélectionnez une structure", + "readOnly": false, + "required": true, + "size": "normal", + "storeValue": [Function], + "type": "select", + }, + "ref": null, + "rendered": null, + "type": [Function], + }, + undefined, + Object { + "instance": null, + "key": undefined, + "nodeType": "class", + "props": Object { + "displayValue": [Function], + "errors": null, + "label": "Lieu", + "layout": "horizontal", + "name": "venueId", + "options": Array [], + "placeholder": "Sélectionnez un lieu", + "readOnly": false, + "required": true, + "size": "normal", + "storeValue": [Function], + "type": "select", + }, + "ref": null, + "rendered": null, + "type": [Function], + }, + undefined, + false, + undefined, + Object { + "instance": null, + "key": undefined, + "nodeType": "class", + "props": Object { + "displayValue": [Function], + "errors": null, + "label": "Email auquel envoyer les réservations", + "layout": "horizontal", + "name": "bookingEmail", + "size": "normal", + "storeValue": [Function], + "sublabel": "Merci de laisser ce champ vide si vous ne souhaitez pas recevoir d'email lors des réservations", + "type": "email", + }, + "ref": null, + "rendered": null, + "type": [Function], + }, + ], + "type": "div", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": "Infos artistiques", + "className": "main-list-title", + }, + "ref": null, + "rendered": "Infos artistiques", + "type": "h2", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": Array [ + , + false, + false, + false, + false, + false, + false, + ], + "className": "field-group", + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "class", + "props": Object { + "displayMaxLength": true, + "displayValue": [Function], + "errors": null, + "isExpanded": true, + "label": "Description", + "layout": "horizontal", + "maxLength": 1000, + "name": "description", + "rows": 1, + "size": "normal", + "storeValue": [Function], + "type": "textarea", + }, + "ref": null, + "rendered": null, + "type": [Function], + }, + false, + false, + false, + false, + false, + false, + ], + "type": "div", + }, + ], + "type": "div", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object {}, + "ref": null, + "rendered": null, + "type": "hr", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": Array [ +
+ + Modifier l'offre + +
, +
+ + Terminer + +
, + ], + "className": "field is-grouped is-grouped-centered", + "style": Object { + "justifyContent": "space-between", + }, + }, + "ref": null, + "rendered": Array [ + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": + Modifier l'offre +, + "className": "control", + }, + "ref": null, + "rendered": Object { + "instance": null, + "key": undefined, + "nodeType": "function", + "props": Object { + "activeClassName": "active", + "aria-current": "page", + "children": "Modifier l'offre", + "className": "button is-secondary is-medium", + "to": "/offres/undefined?modifie", + }, + "ref": null, + "rendered": "Modifier l'offre", + "type": [Function], + }, + "type": "div", + }, + Object { + "instance": null, + "key": undefined, + "nodeType": "host", + "props": Object { + "children": + Terminer +, + "className": "control", + }, + "ref": null, + "rendered": Object { + "instance": null, + "key": undefined, + "nodeType": "function", + "props": Object { + "activeClassName": "active", + "aria-current": "page", + "children": Array [ + "Terminer ", + undefined, + ], + "className": "button is-primary is-medium", + "to": "/offres", + }, + "ref": null, + "rendered": Array [ + "Terminer ", + undefined, + ], + "type": [Function], + }, + "type": "div", + }, + ], + "type": "div", + }, + ], + "type": [Function], + }, + ], + "type": [Function], + }, + "type": [Function], + }, + ], + Symbol(enzyme.__options__): Object { + "adapter": ReactSixteenAdapter { + "options": Object { + "enableComponentDidUpdateOnSetState": true, + "legacyContextMode": "parent", + "lifecycles": Object { + "componentDidUpdate": Object { + "onSetState": true, + }, + "getChildContext": Object { + "calledByRenderer": false, + }, + "getDerivedStateFromProps": Object { + "hasShouldComponentUpdateBug": false, + }, + "getSnapshotBeforeUpdate": true, + "setState": Object { + "skipsComponentDidUpdateOnNullish": true, + }, + }, + }, + }, + }, + Symbol(enzyme.__childContext__): null, +} +`;