aboutsummaryrefslogtreecommitdiffstats
path: root/spec/javascript/journey_patterns/components
diff options
context:
space:
mode:
authorLuc Donnet2018-02-19 11:04:29 +0100
committerLuc Donnet2018-02-19 11:04:29 +0100
commit7b17deff51545358009cb417cbb9d796565e7540 (patch)
treea43a5586ad39d838dd607e600dbc15ff18a58ab3 /spec/javascript/journey_patterns/components
parent89428163fc93a7e09ebb0ca47939f8558afeb5eb (diff)
parent5f6008d165df4499319a2121a71842657d6ac3c9 (diff)
downloadchouette-core-7b17deff51545358009cb417cbb9d796565e7540.tar.bz2
Merge branch 'master' into 0000-docker
Diffstat (limited to 'spec/javascript/journey_patterns/components')
-rw-r--r--spec/javascript/journey_patterns/components/JourneyPattern_spec.js63
-rw-r--r--spec/javascript/journey_patterns/components/JourneyPatterns_spec.js77
-rw-r--r--spec/javascript/journey_patterns/components/__snapshots__/JourneyPattern_spec.js.snap143
-rw-r--r--spec/javascript/journey_patterns/components/__snapshots__/JourneyPatterns_spec.js.snap169
4 files changed, 452 insertions, 0 deletions
diff --git a/spec/javascript/journey_patterns/components/JourneyPattern_spec.js b/spec/javascript/journey_patterns/components/JourneyPattern_spec.js
new file mode 100644
index 000000000..0da75ad47
--- /dev/null
+++ b/spec/javascript/journey_patterns/components/JourneyPattern_spec.js
@@ -0,0 +1,63 @@
+import React, { Component } from 'react'
+import JourneyPattern from '../../../../app/javascript/journey_patterns/components/JourneyPattern'
+import renderer from 'react-test-renderer'
+
+describe('the edit button', () => {
+ set('policy', () => {
+ return {}
+ })
+ set('features', () => {
+ return []
+ })
+ set('editMode', () => {
+ return false
+ })
+ set('component', () => {
+ let props = {
+ status: {
+ policy: policy,
+ features: features
+ },
+ onCheckboxChange: ()=>{},
+ onDeleteJourneyPattern: ()=>{},
+ onOpenEditModal: ()=>{},
+ journeyPatterns: {},
+ value: {
+ stop_points: []
+ },
+ index: 0,
+ editMode: editMode
+ }
+ let list = renderer.create(
+ <JourneyPattern
+ status={props.status}
+ journeyPatterns={props.journeyPatterns}
+ value={props.value}
+ index={props.index}
+ onCheckboxChange={props.onCheckboxChange}
+ onDeleteJourneyPattern={props.onDeleteJourneyPattern}
+ onOpenEditModal={props.onOpenEditModal}
+ editMode={props.editMode}
+ />
+ )
+
+ return list
+ })
+
+
+ it('should display the show link', () => {
+ expect(component.toJSON()).toMatchSnapshot()
+ expect(component.root.findByProps({"data-target": "#JourneyPatternModal"})._fiber.stateNode.children[0].text).toEqual("Consulter")
+ })
+
+ context('in edit mode', () => {
+ set('editMode', () => {
+ return true
+ })
+
+ it('should display the edit link', () => {
+ expect(component.toJSON()).toMatchSnapshot()
+ expect(component.root.findByProps({"data-target": "#JourneyPatternModal"})._fiber.stateNode.children[0].text).toEqual("Editer")
+ })
+ })
+})
diff --git a/spec/javascript/journey_patterns/components/JourneyPatterns_spec.js b/spec/javascript/journey_patterns/components/JourneyPatterns_spec.js
new file mode 100644
index 000000000..0c852deff
--- /dev/null
+++ b/spec/javascript/journey_patterns/components/JourneyPatterns_spec.js
@@ -0,0 +1,77 @@
+import React, { Component } from 'react'
+import JourneyPatterns from '../../../../app/javascript/journey_patterns/components/JourneyPatterns'
+import renderer from 'react-test-renderer'
+
+describe('stopPointHeader', () => {
+ set('features', () => {
+ return {}
+ })
+ set('component', () => {
+ let props = {
+ status: {
+ features: features
+ },
+ onCheckboxChange: ()=>{},
+ onLoadFirstPage: ()=>{},
+ onOpenEditModal: ()=>{},
+ stopPointsList: [stop_point, same_city_stop_point, other_country_stop_point],
+ journeyPatterns: []
+ }
+ let list = renderer.create(
+ <JourneyPatterns
+ status={props.status}
+ journeyPatterns={props.journeyPatterns}
+ stopPointsList={props.stopPointsList}
+ onCheckboxChange={props.onCheckboxChange}
+ onLoadFirstPage={props.onLoadFirstPage}
+ onOpenEditModal={props.onOpenEditModal}
+ />
+ ).toJSON()
+
+ return list
+ })
+
+ set('stop_point', () => {
+ return {
+ name: "Stop point",
+ city_name: "City Name",
+ zip_code: "12345",
+ country_code: "FR",
+ country_name: "france",
+ object_id: "sp-FR"
+ }
+ })
+
+ set('same_city_stop_point', () => {
+ return {
+ name: "Antother stop point",
+ city_name: stop_point.city_name,
+ zip_code: stop_point.zip_code,
+ country_code: stop_point.country_code,
+ country_name: stop_point.country_name,
+ object_id: stop_point.object_id + "-2"
+ }
+ })
+
+ set('other_country_stop_point', () => {
+ return {
+ name: "Antother stop point",
+ city_name: "New York",
+ zip_code: "232323",
+ country_code: "US",
+ country_name: "USA",
+ object_id: "sp-USA"
+ }
+ })
+ it('should display the city name', () => {
+ expect(component).toMatchSnapshot()
+ })
+ context('with the "long_distance_routes" feature', () => {
+ set('features', () => {
+ return { long_distance_routes: true }
+ })
+ it('should display the country name', () => {
+ expect(component).toMatchSnapshot()
+ })
+ })
+})
diff --git a/spec/javascript/journey_patterns/components/__snapshots__/JourneyPattern_spec.js.snap b/spec/javascript/journey_patterns/components/__snapshots__/JourneyPattern_spec.js.snap
new file mode 100644
index 000000000..0bedd8d69
--- /dev/null
+++ b/spec/javascript/journey_patterns/components/__snapshots__/JourneyPattern_spec.js.snap
@@ -0,0 +1,143 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`the edit button in edit mode should display the edit link 1`] = `
+<div
+ className="t2e-item to_record"
+>
+ <div
+ className="th"
+ >
+ <div
+ className="strong mb-xs"
+ >
+ -
+ </div>
+ <div />
+ <div>
+ 0
+ arrêt(s)
+ </div>
+ <div
+ className="btn-group"
+ >
+ <div
+ className="btn dropdown-toggle"
+ data-toggle="dropdown"
+ >
+ <span
+ className="fa fa-cog"
+ />
+ </div>
+ <ul
+ className="dropdown-menu"
+ >
+ <li>
+ <button
+ data-target="#JourneyPatternModal"
+ data-toggle="modal"
+ onClick={[Function]}
+ type="button"
+ >
+ Editer
+ </button>
+ </li>
+ <li
+ className="disabled"
+ >
+ <a
+ href="blank/vehicle_journeys?jp=undefined"
+ >
+ Horaires des courses
+ </a>
+ </li>
+ <li
+ className="delete-action disabled"
+ >
+ <button
+ className="disabled"
+ disabled={true}
+ onClick={[Function]}
+ type="button"
+ >
+ <span
+ className="fa fa-trash"
+ />
+ Supprimer
+ </button>
+ </li>
+ </ul>
+ </div>
+ </div>
+</div>
+`;
+
+exports[`the edit button should display the show link 1`] = `
+<div
+ className="t2e-item to_record"
+>
+ <div
+ className="th"
+ >
+ <div
+ className="strong mb-xs"
+ >
+ -
+ </div>
+ <div />
+ <div>
+ 0
+ arrêt(s)
+ </div>
+ <div
+ className="btn-group"
+ >
+ <div
+ className="btn dropdown-toggle"
+ data-toggle="dropdown"
+ >
+ <span
+ className="fa fa-cog"
+ />
+ </div>
+ <ul
+ className="dropdown-menu"
+ >
+ <li>
+ <button
+ data-target="#JourneyPatternModal"
+ data-toggle="modal"
+ onClick={[Function]}
+ type="button"
+ >
+ Consulter
+ </button>
+ </li>
+ <li
+ className="disabled"
+ >
+ <a
+ href="blank/vehicle_journeys?jp=undefined"
+ >
+ Horaires des courses
+ </a>
+ </li>
+ <li
+ className="delete-action disabled"
+ >
+ <button
+ className="disabled"
+ disabled={true}
+ onClick={[Function]}
+ type="button"
+ >
+ <span
+ className="fa fa-trash"
+ />
+ Supprimer
+ </button>
+ </li>
+ </ul>
+ </div>
+ </div>
+</div>
+`;
diff --git a/spec/javascript/journey_patterns/components/__snapshots__/JourneyPatterns_spec.js.snap b/spec/javascript/journey_patterns/components/__snapshots__/JourneyPatterns_spec.js.snap
new file mode 100644
index 000000000..a332e7d80
--- /dev/null
+++ b/spec/javascript/journey_patterns/components/__snapshots__/JourneyPatterns_spec.js.snap
@@ -0,0 +1,169 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`stopPointHeader should display the city name 1`] = `
+<div
+ className="row"
+>
+ <div
+ className="col-lg-12"
+ >
+ <div
+ className="table table-2entries mt-sm mb-sm no_result"
+ >
+ <div
+ className="t2e-head w20"
+ >
+ <div
+ className="th"
+ >
+ <div
+ className="strong mb-xs"
+ >
+ ID Mission
+ </div>
+ <div>
+ Code mission
+ </div>
+ <div>
+ Nb arrêts
+ </div>
+ </div>
+ <div
+ className="td"
+ >
+ <div
+ className="headlined"
+ data-headline="City Name"
+ title="City Name (12345)"
+ >
+ <span>
+ <span>
+ Stop point
+ </span>
+ </span>
+ </div>
+ </div>
+ <div
+ className="td"
+ >
+ <div
+ className=""
+ data-headline=""
+ title="City Name (12345)"
+ >
+ <span>
+ <span>
+ Antother stop point
+ </span>
+ </span>
+ </div>
+ </div>
+ <div
+ className="td"
+ >
+ <div
+ className="headlined"
+ data-headline="New York"
+ title="New York (232323)"
+ >
+ <span>
+ <span>
+ Antother stop point
+ </span>
+ </span>
+ </div>
+ </div>
+ </div>
+ <div
+ className="t2e-item-list w80"
+ >
+ <div />
+ </div>
+ </div>
+ </div>
+</div>
+`;
+
+exports[`stopPointHeader with the "long_distance_routes" feature should display the country name 1`] = `
+<div
+ className="row"
+>
+ <div
+ className="col-lg-12"
+ >
+ <div
+ className="table table-2entries mt-sm mb-sm no_result"
+ >
+ <div
+ className="t2e-head w20"
+ >
+ <div
+ className="th"
+ >
+ <div
+ className="strong mb-xs"
+ >
+ ID Mission
+ </div>
+ <div>
+ Code mission
+ </div>
+ <div>
+ Nb arrêts
+ </div>
+ </div>
+ <div
+ className="td"
+ >
+ <div
+ className="headlined"
+ data-headline="france"
+ title="City Name (12345)"
+ >
+ <span>
+ <span>
+ Stop point
+ </span>
+ </span>
+ </div>
+ </div>
+ <div
+ className="td"
+ >
+ <div
+ className=""
+ data-headline=""
+ title="City Name (12345)"
+ >
+ <span>
+ <span>
+ Antother stop point
+ </span>
+ </span>
+ </div>
+ </div>
+ <div
+ className="td"
+ >
+ <div
+ className="headlined"
+ data-headline="USA"
+ title="New York (232323)"
+ >
+ <span>
+ <span>
+ Antother stop point
+ </span>
+ </span>
+ </div>
+ </div>
+ </div>
+ <div
+ className="t2e-item-list w80"
+ >
+ <div />
+ </div>
+ </div>
+ </div>
+</div>
+`;