@truedat/dd 4.44.2 → 4.44.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/package.json +23 -19
  3. package/src/api/mutations.js +27 -0
  4. package/src/api/queries.js +24 -0
  5. package/src/api.js +2 -0
  6. package/src/components/DictionaryRoutes.js +7 -5
  7. package/src/components/EditDomainPopup.js +1 -1
  8. package/src/components/FilteredNav.js +9 -9
  9. package/src/components/GrantFilters.js +1 -5
  10. package/src/components/GrantRequestApprovalPopup.js +0 -1
  11. package/src/components/ImplementationStructuresLoader.js +14 -11
  12. package/src/components/PendingStructureNotes.js +11 -5
  13. package/src/components/ReferenceDataset.js +23 -0
  14. package/src/components/ReferenceDatasetActions.js +88 -0
  15. package/src/components/ReferenceDatasetBreadcrumbs.js +22 -0
  16. package/src/components/ReferenceDatasetCreate.js +36 -0
  17. package/src/components/ReferenceDatasetDetail.js +42 -0
  18. package/src/components/ReferenceDatasetForm.js +109 -0
  19. package/src/components/ReferenceDatasetHeader.js +32 -0
  20. package/src/components/ReferenceDatasetRoutes.js +56 -0
  21. package/src/components/ReferenceDatasetTable.js +42 -0
  22. package/src/components/ReferenceDatasets.js +61 -0
  23. package/src/components/ReferenceDatasetsTable.js +105 -0
  24. package/src/components/StructureConfidentialButton.js +1 -1
  25. package/src/components/StructureFilters.js +1 -5
  26. package/src/components/StructureNotesEdit.js +6 -6
  27. package/src/components/StructureProperties.js +4 -1
  28. package/src/components/StructureTagsRoutes.js +0 -1
  29. package/src/components/StructureTypesCrumbs.js +0 -1
  30. package/src/components/StructureVersionListItem.js +2 -2
  31. package/src/components/StructureView.js +1 -3
  32. package/src/components/SystemForm.js +1 -1
  33. package/src/components/__tests__/ImplementationStructuresLoader.spec.js +12 -54
  34. package/src/components/__tests__/LineageEventsTable.spec.js +2 -7
  35. package/src/components/__tests__/LineageRoutes.spec.js +4 -4
  36. package/src/components/__tests__/PendingStructureNoteRow.spec.js +1 -17
  37. package/src/components/__tests__/PendingStructureNotes.spec.js +5 -33
  38. package/src/components/__tests__/ReferenceDataset.spec.js +64 -0
  39. package/src/components/__tests__/ReferenceDatasetActions.spec.js +17 -0
  40. package/src/components/__tests__/ReferenceDatasetBreadcrumbs.spec.js +12 -0
  41. package/src/components/__tests__/ReferenceDatasetCreate.spec.js +12 -0
  42. package/src/components/__tests__/ReferenceDatasetDetail.spec.js +37 -0
  43. package/src/components/__tests__/ReferenceDatasetForm.spec.js +51 -0
  44. package/src/components/__tests__/ReferenceDatasetHeader.spec.js +17 -0
  45. package/src/components/__tests__/ReferenceDatasetRoutes.spec.js +74 -0
  46. package/src/components/__tests__/ReferenceDatasetTable.spec.js +18 -0
  47. package/src/components/__tests__/ReferenceDatasets.spec.js +32 -0
  48. package/src/components/__tests__/ReferenceDatasetsTable.spec.js +22 -0
  49. package/src/components/__tests__/StructureConfidentialButton.spec.js +26 -30
  50. package/src/components/__tests__/StructureGrantRequestButton.spec.js +4 -23
  51. package/src/components/__tests__/StructureNoteActions.spec.js +2 -19
  52. package/src/components/__tests__/StructureNotes.spec.js +3 -15
  53. package/src/components/__tests__/StructureNotesEdit.spec.js +5 -25
  54. package/src/components/__tests__/StructureProperties.spec.js +6 -8
  55. package/src/components/__tests__/StructureTagForm.spec.js +1 -3
  56. package/src/components/__tests__/StructureVersionListItem.spec.js +4 -4
  57. package/src/components/__tests__/StructuresOptions.spec.js +1 -7
  58. package/src/components/__tests__/StructuresUploadEventsTable.spec.js +3 -4
  59. package/src/components/__tests__/__snapshots__/DictionaryRoutes.spec.js.snap +4 -0
  60. package/src/components/__tests__/__snapshots__/LineageRoutes.spec.js.snap +1 -20
  61. package/src/components/__tests__/__snapshots__/PendingStructureNotes.spec.js.snap +3 -3
  62. package/src/components/__tests__/__snapshots__/ProfileExecution.spec.js.snap +2 -1
  63. package/src/components/__tests__/__snapshots__/ReferenceDataset.spec.js.snap +365 -0
  64. package/src/components/__tests__/__snapshots__/ReferenceDatasetActions.spec.js.snap +65 -0
  65. package/src/components/__tests__/__snapshots__/ReferenceDatasetBreadcrumbs.spec.js.snap +25 -0
  66. package/src/components/__tests__/__snapshots__/ReferenceDatasetCreate.spec.js.snap +98 -0
  67. package/src/components/__tests__/__snapshots__/ReferenceDatasetDetail.spec.js.snap +135 -0
  68. package/src/components/__tests__/__snapshots__/ReferenceDatasetForm.spec.js.snap +61 -0
  69. package/src/components/__tests__/__snapshots__/ReferenceDatasetHeader.spec.js.snap +95 -0
  70. package/src/components/__tests__/__snapshots__/ReferenceDatasetRoutes.spec.js.snap +414 -0
  71. package/src/components/__tests__/__snapshots__/ReferenceDatasetTable.spec.js.snap +75 -0
  72. package/src/components/__tests__/__snapshots__/ReferenceDatasets.spec.js.snap +128 -0
  73. package/src/components/__tests__/__snapshots__/ReferenceDatasetsTable.spec.js.snap +86 -0
  74. package/src/components/__tests__/__snapshots__/StructureConfidentialButton.spec.js.snap +13 -33
  75. package/src/components/__tests__/__snapshots__/StructureNavClassified.spec.js.snap +2 -2
  76. package/src/components/__tests__/__snapshots__/StructureNotes.spec.js.snap +9 -9
  77. package/src/components/__tests__/__snapshots__/StructureNotesEdit.spec.js.snap +2 -2
  78. package/src/components/__tests__/__snapshots__/StructureProperties.spec.js.snap +76 -71
  79. package/src/components/__tests__/__snapshots__/StructureVersionListItem.spec.js.snap +31 -64
  80. package/src/messages/en.js +18 -0
  81. package/src/messages/es.js +20 -0
  82. package/src/reducers/__tests__/ddMessage.spec.js +26 -5
  83. package/src/reducers/__tests__/graph.spec.js +1 -6
  84. package/src/reducers/__tests__/referenceDatasetSaving.spec.js +44 -0
  85. package/src/reducers/__tests__/structureRedirect.spec.js +37 -13
  86. package/src/reducers/ddMessage.js +26 -1
  87. package/src/reducers/index.js +2 -0
  88. package/src/reducers/referenceDatasetSaving.js +16 -0
  89. package/src/reducers/structureRedirect.js +36 -15
  90. package/src/reducers/structuresUploadEvents.js +0 -1
  91. package/src/routines.js +35 -74
  92. package/src/sagas/__tests__/createReferenceDataset.spec.js +90 -0
  93. package/src/sagas/__tests__/deleteReferenceDataset.spec.js +81 -0
  94. package/src/sagas/__tests__/updateReferenceDataset.spec.js +116 -0
  95. package/src/sagas/createReferenceDataset.js +34 -0
  96. package/src/sagas/deleteReferenceDataset.js +29 -0
  97. package/src/sagas/downloadReferenceDataset.js +44 -0
  98. package/src/sagas/index.js +31 -22
  99. package/src/sagas/updateReferenceDataset.js +35 -0
  100. package/src/selectors/getRelationSortingCriteria.js +3 -5
  101. package/src/selectors/getTabVisibility.js +1 -4
  102. package/src/components/__tests__/__snapshots__/ImplementationStructuresLoader.spec.js.snap +0 -30
@@ -1,40 +1,20 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
- exports[`<StructureConfidentialButton /> matches snapshot without permission 1`] = `""`;
3
+ exports[`<StructureConfidentialButton /> matches snapshot without confidential permission 1`] = `<div />`;
4
4
 
5
- exports[`<StructureConfidentialButton /> matches snapshot without permission 2`] = `""`;
5
+ exports[`<StructureConfidentialButton /> matches snapshot without update permission 1`] = `<div />`;
6
6
 
7
7
  exports[`<StructureConfidentialButton /> matches the latest snapshot 1`] = `
8
- <Popup
9
- content="structure.mark_as_confidential"
10
- disabled={false}
11
- eventsEnabled={true}
12
- on={
13
- Array [
14
- "click",
15
- "hover",
16
- ]
17
- }
18
- pinned={false}
19
- popperModifiers={Array []}
20
- position="top center"
21
- trigger={
22
- <span>
23
- <Button
24
- as="button"
25
- basic={true}
26
- className="structureButton"
27
- icon={
28
- <Icon
29
- as="i"
30
- className=""
31
- name="lock open"
32
- />
33
- }
34
- loading={false}
35
- onClick={[Function]}
8
+ <div>
9
+ <span>
10
+ <button
11
+ class="ui basic icon button structureButton"
12
+ >
13
+ <i
14
+ aria-hidden="true"
15
+ class="lock open icon"
36
16
  />
37
- </span>
38
- }
39
- />
17
+ </button>
18
+ </span>
19
+ </div>
40
20
  `;
@@ -50,7 +50,7 @@ exports[`<StructureNavClassified /> matches the latest snapshot (leaf class expa
50
50
  <div
51
51
  class="header noselect"
52
52
  >
53
- default
53
+ unclassified
54
54
  </div>
55
55
  </div>
56
56
  </div>
@@ -91,7 +91,7 @@ exports[`<StructureNavClassified /> matches the latest snapshot 1`] = `
91
91
  <div
92
92
  class="header noselect"
93
93
  >
94
- default
94
+ unclassified
95
95
  </div>
96
96
  </div>
97
97
  </div>
@@ -20,7 +20,7 @@ exports[`<StructureNotes /> matches the latest snapshot 1`] = `
20
20
  <button
21
21
  class="ui button"
22
22
  >
23
- structure.notes.actions.show_versioned
23
+ Show previous versions
24
24
  </button>
25
25
  </div>
26
26
  </div>
@@ -50,7 +50,7 @@ exports[`<StructureNotes /> matches the latest snapshot 2`] = `
50
50
  <button
51
51
  class="ui button"
52
52
  >
53
- structure.notes.actions.show_versioned
53
+ Show previous versions
54
54
  </button>
55
55
  <div
56
56
  class="ui segment"
@@ -62,19 +62,19 @@ exports[`<StructureNotes /> matches the latest snapshot 2`] = `
62
62
  <div
63
63
  class="ui label basic"
64
64
  >
65
- structure.notes.status.versioned
65
+ Versioned
66
66
  </div>
67
67
  <div
68
68
  class="ui label basic"
69
69
  >
70
- structure.notes.version
70
+ Version: 1
71
71
  </div>
72
72
  </div>
73
73
  <div>
74
74
  <button
75
75
  class="ui button"
76
76
  >
77
- structure.notes.df_content.collapsed.true
77
+ Show content
78
78
  </button>
79
79
  </div>
80
80
  </div>
@@ -107,7 +107,7 @@ exports[`<StructureNotes /> matches the latest snapshot 3`] = `
107
107
  <button
108
108
  class="ui button"
109
109
  >
110
- structure.notes.actions.show_versioned
110
+ Show previous versions
111
111
  </button>
112
112
  <div
113
113
  class="ui segment"
@@ -119,19 +119,19 @@ exports[`<StructureNotes /> matches the latest snapshot 3`] = `
119
119
  <div
120
120
  class="ui label basic"
121
121
  >
122
- structure.notes.status.versioned
122
+ Versioned
123
123
  </div>
124
124
  <div
125
125
  class="ui label basic"
126
126
  >
127
- structure.notes.version
127
+ Version: 1
128
128
  </div>
129
129
  </div>
130
130
  <div>
131
131
  <button
132
132
  class="ui button"
133
133
  >
134
- structure.notes.df_content.collapsed.false
134
+ Hide content
135
135
  </button>
136
136
  </div>
137
137
  </div>
@@ -12,14 +12,14 @@ exports[`<StructureNotesEdit /> matches the latest snapshot 1`] = `
12
12
  <button
13
13
  class="ui primary button"
14
14
  >
15
- actions.save
15
+ Save
16
16
  </button>
17
17
  <a
18
18
  class="ui secondary button"
19
19
  href="/"
20
20
  role="button"
21
21
  >
22
- actions.cancel
22
+ Cancel
23
23
  </a>
24
24
  </form>
25
25
  </div>
@@ -1,96 +1,101 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`<StructureProperties /> matches the latest snapshot (custom structureProperties) 1`] = `
4
- <Fragment>
4
+ <div>
5
5
  <p
6
- className="item-description"
6
+ class="item-description"
7
7
  />
8
- <Grid
9
- className="structure-properties"
10
- columns={5}
11
- divided={true}
8
+ <div
9
+ class="ui divided five column grid structure-properties"
12
10
  >
13
- <GridRow
14
- key="0"
11
+ <div
12
+ class="row"
15
13
  >
16
- <GridColumn
17
- key="0"
18
- width={3}
14
+ <div
15
+ class="three wide column"
19
16
  >
20
- <Item>
21
- <ItemContent>
22
- <ItemHeader
23
- as="h5"
17
+ <div
18
+ class="item"
19
+ >
20
+ <div
21
+ class="content"
22
+ >
23
+ <h5
24
+ class="header"
25
+ >
26
+ metadata.foo
27
+ </h5>
28
+ <div
29
+ class="description"
24
30
  >
25
- <MemoizedFormattedMessage
26
- id="structure.metadata.foo"
27
- />
28
- </ItemHeader>
29
- <ItemDescription>
30
31
  bar
31
- </ItemDescription>
32
- </ItemContent>
33
- </Item>
34
- </GridColumn>
35
- </GridRow>
36
- </Grid>
37
- </Fragment>
32
+ </div>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ </div>
38
39
  `;
39
40
 
40
41
  exports[`<StructureProperties /> matches the latest snapshot 1`] = `
41
- <Fragment>
42
+ <div>
42
43
  <p
43
- className="item-description"
44
+ class="item-description"
44
45
  >
45
46
  dd
46
47
  </p>
47
- <Grid
48
- className="structure-properties"
49
- columns={5}
50
- divided={true}
48
+ <div
49
+ class="ui divided five column grid structure-properties"
51
50
  >
52
- <GridRow
53
- key="0"
51
+ <div
52
+ class="row"
54
53
  >
55
- <GridColumn
56
- key="0"
57
- width={3}
54
+ <div
55
+ class="three wide column"
58
56
  >
59
- <Item>
60
- <ItemContent>
61
- <ItemHeader
62
- as="h5"
57
+ <div
58
+ class="item"
59
+ >
60
+ <div
61
+ class="content"
62
+ >
63
+ <h5
64
+ class="header"
65
+ >
66
+ Domain
67
+ </h5>
68
+ <div
69
+ class="description"
63
70
  >
64
- <MemoizedFormattedMessage
65
- id="structure.domain"
66
- />
67
- </ItemHeader>
68
- <ItemDescription>
69
- <Connect(EditDomainPopup) />
70
- </ItemDescription>
71
- </ItemContent>
72
- </Item>
73
- </GridColumn>
74
- <GridColumn
75
- key="1"
76
- width={3}
71
+
72
+ </div>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ <div
77
+ class="three wide column"
77
78
  >
78
- <Item>
79
- <ItemContent>
80
- <ItemHeader
81
- as="h5"
79
+ <div
80
+ class="item"
81
+ >
82
+ <div
83
+ class="content"
84
+ >
85
+ <h5
86
+ class="header"
87
+ >
88
+ Group
89
+ </h5>
90
+ <div
91
+ class="description"
82
92
  >
83
- <MemoizedFormattedMessage
84
- id="structure.group"
85
- />
86
- </ItemHeader>
87
- <ItemDescription>
88
93
  gp
89
- </ItemDescription>
90
- </ItemContent>
91
- </Item>
92
- </GridColumn>
93
- </GridRow>
94
- </Grid>
95
- </Fragment>
94
+ </div>
95
+ </div>
96
+ </div>
97
+ </div>
98
+ </div>
99
+ </div>
100
+ </div>
96
101
  `;
@@ -1,68 +1,35 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`<StructureVersionListItem /> matches the latest snapshot 1`] = `
4
- <ListItem
5
- as={
6
- Object {
7
- "$$typeof": Symbol(react.forward_ref),
8
- "displayName": "Link",
9
- "propTypes": Object {
10
- "innerRef": [Function],
11
- "onClick": [Function],
12
- "replace": [Function],
13
- "target": [Function],
14
- "to": [Function],
15
- },
16
- "render": [Function],
17
- }
18
- }
19
- to="/structures/123/versions/42"
20
- >
21
- <ListIcon
22
- name="history"
23
- size="large"
24
- verticalAlign="middle"
25
- />
26
- <ListContent>
27
- <ListHeader>
28
- <MemoizedFormattedMessage
29
- id="structure.version.version"
30
- values={
31
- Object {
32
- "version": 42,
33
- }
34
- }
35
- />
36
- </ListHeader>
37
- <ListDescription>
38
- <MemoizedFormattedMessage
39
- id="structure.version.inserted_at"
40
- values={
41
- Object {
42
- "when": <t
43
- ago={false}
44
- calendar={false}
45
- date="2018-01-01T01:01:01.123456Z"
46
- decimal={false}
47
- element={null}
48
- filter={[Function]}
49
- format="YYYY-MM-DD HH:mm"
50
- fromNow={false}
51
- interval={60000}
52
- local={false}
53
- locale="es"
54
- onChange={[Function]}
55
- titleFormat=""
56
- toNow={false}
57
- unit={null}
58
- unix={false}
59
- utc={false}
60
- withTitle={false}
61
- />,
62
- }
63
- }
64
- />
65
- </ListDescription>
66
- </ListContent>
67
- </ListItem>
4
+ <div>
5
+ <a
6
+ class="item"
7
+ href="/structures/123/versions/42"
8
+ role="listitem"
9
+ >
10
+ <i
11
+ aria-hidden="true"
12
+ class="history large icon middle aligned"
13
+ />
14
+ <div
15
+ class="content"
16
+ >
17
+ <div
18
+ class="header"
19
+ >
20
+ Version 42
21
+ </div>
22
+ <div
23
+ class="description"
24
+ >
25
+ Imported
26
+ <time
27
+ datetime="1514768461123"
28
+ >
29
+ 2018-01-01 01:01
30
+ </time>
31
+ </div>
32
+ </div>
33
+ </a>
34
+ </div>
68
35
  `;
@@ -1,9 +1,12 @@
1
1
  export default {
2
+ "alert.createReferenceDataset.success.header": "Dataset created",
2
3
  "alert.createStructureTag.failed.header": "Error creating structure tag",
4
+ "alert.deleteReferenceDataset.success.header": "Dataset deleted",
3
5
  "alert.export.csv": "Export to CSV",
4
6
  "alert.linkStructureTag.failed.header": "Error linking tag to structure",
5
7
  "alert.saveUserSearchFilters.failed.header": "Error saving filter",
6
8
  "alert.show.more": "Show more",
9
+ "alert.updateReferenceDataset.success.header": "Dataset updated",
7
10
  "alert.updateStructureTag.failed.header": "Error editing structure tag",
8
11
  "alert.updateSystem.failed.header": "Error updating system",
9
12
  "createStructureTag.error.name.has already been taken":
@@ -174,6 +177,21 @@ export default {
174
177
  "profiling.field.name": "Name",
175
178
  "profiling.field.null": "Nulls",
176
179
  "profiling.field.unique": "Uniques",
180
+ referenceDataset: "Reference Dataset",
181
+ "referenceDataset.actions.delete.confirmation.content":
182
+ "Dataset {name} will be deleted. Are you sure?",
183
+ "referenceDataset.actions.delete.confirmation.header": "Delete dataset",
184
+ "referenceDataset.file": "Dataset File",
185
+ "referenceDataset.headers": "Headers",
186
+ "referenceDataset.name": "Name",
187
+ "referenceDataset.rowCount": "Rows",
188
+ "referenceDataset.updatedAt": "Updated",
189
+ "referenceDatasets.actions.create": "New Dataset",
190
+ "referenceDatasets.count":
191
+ "{count, plural, =0 {No datasets found} =1 {One dataset found} other {# datasets found}}",
192
+ "referenceDatasets.header": "Reference Data",
193
+ "referenceDatasets.search.placeholder": "Search datasets...",
194
+ "referenceDatasets.subheader": "Manage reference datasets",
177
195
  "saveUserSearchFilters.error.name.duplicated": "Duplicated name",
178
196
  "structure._actions": " ",
179
197
  "structure.actions.delete.confirmation.content":
@@ -1,10 +1,15 @@
1
1
  export default {
2
+ "alert.createReferenceDataset.success.header": "Dataset creado correctamente",
2
3
  "alert.createStructureTag.failed.header": "Error al crear Etiqueta",
4
+ "alert.deleteReferenceDataset.success.header":
5
+ "Dataset eliminado correctamente",
3
6
  "alert.export.csv": "Exportar a CSV",
4
7
  "alert.linkStructureTag.failed.header":
5
8
  "Error asociando etiqueta a estructura",
6
9
  "alert.saveUserSearchFilters.failed.header": "Error guardando filtro",
7
10
  "alert.show.more": "Mostrar más",
11
+ "alert.updateReferenceDataset.success.header":
12
+ "Dataset actualizado correctamente",
8
13
  "alert.updateStructureTag.failed.header": "Error al editar Etiqueta",
9
14
  "alert.updateSystem.failed.header": "Error actualizando sistema",
10
15
  "createStructureTag.error.name.has already been taken":
@@ -178,6 +183,21 @@ export default {
178
183
  "profiling.field.name": "Nombre",
179
184
  "profiling.field.null": "Nulos",
180
185
  "profiling.field.unique": "Únicos",
186
+ referenceDataset: "Datos de referencia",
187
+ "referenceDataset.actions.delete.confirmation.content":
188
+ "El dataset {name} va a ser eliminado. ¿Estás seguro?",
189
+ "referenceDataset.actions.delete.confirmation.header": "Eliminar dataset",
190
+ "referenceDataset.file": "Fichero de datos",
191
+ "referenceDataset.headers": "Cabeceras",
192
+ "referenceDataset.name": "Nombre",
193
+ "referenceDataset.rowCount": "Filas",
194
+ "referenceDataset.updatedAt": "Actualizado",
195
+ "referenceDatasets.actions.create": "Nuevo dataset",
196
+ "referenceDatasets.count":
197
+ "{count, plural, =0 {Ningún dataset encontrado} =1 {Un dataset encontrado} other {# datasets encontrados}}",
198
+ "referenceDatasets.header": "Datos de referencia",
199
+ "referenceDatasets.search.placeholder": "Buscar datasets...",
200
+ "referenceDatasets.subheader": "Gestionar conjuntos de datos de referencia",
181
201
  "saveUserSearchFilters.error.name.duplicated": "Nombre duplicado",
182
202
  "structure._actions": " ",
183
203
  "structure.actions.delete.confirmation.content":
@@ -1,13 +1,16 @@
1
- import { uploadStructuresDomains } from "../../routines";
2
- import { ddMessage } from "..";
1
+ import {
2
+ createReferenceDataset,
3
+ deleteReferenceDataset,
4
+ updateReferenceDataset,
5
+ uploadStructuresDomains,
6
+ } from "../../routines";
7
+ import { ddMessage, initialState } from "../ddMessage";
3
8
 
4
9
  const fooState = { foo: "bar" };
5
10
 
6
11
  describe("reducers: ddMessage", () => {
7
- const initialState = null;
8
-
9
12
  it("should provide the initial state", () => {
10
- expect(ddMessage(undefined, {})).toEqual(initialState);
13
+ expect(ddMessage(undefined, {})).toBe(initialState);
11
14
  });
12
15
 
13
16
  it("should handle the uploadStructuresDomains.SUCCESS action returning some errored rows", () => {
@@ -70,4 +73,22 @@ describe("reducers: ddMessage", () => {
70
73
  content: "invalid_headers, must be: external_id, domain_external_ids",
71
74
  });
72
75
  });
76
+
77
+ it("should handle the createReferenceDataset.SUCCESS action", () => {
78
+ expect(ddMessage(fooState, createReferenceDataset.success())).toMatchObject(
79
+ { header: "alert.createReferenceDataset.success.header" }
80
+ );
81
+ });
82
+
83
+ it("should handle the deleteReferenceDataset.SUCCESS action", () => {
84
+ expect(ddMessage(fooState, deleteReferenceDataset.success())).toMatchObject(
85
+ { header: "alert.deleteReferenceDataset.success.header" }
86
+ );
87
+ });
88
+
89
+ it("should handle the updateReferenceDataset.SUCCESS action", () => {
90
+ expect(ddMessage(fooState, updateReferenceDataset.success())).toMatchObject(
91
+ { header: "alert.updateReferenceDataset.success.header" }
92
+ );
93
+ });
73
94
  });
@@ -1,10 +1,5 @@
1
1
  import { graph, initialState } from "../graph";
2
- import {
3
- clearGraph,
4
- clearStructure,
5
- fetchGraph,
6
- fetchStructure,
7
- } from "../../routines";
2
+ import { clearGraph, fetchGraph, fetchStructure } from "../../routines";
8
3
 
9
4
  const fooState = { foo: "bar" };
10
5
 
@@ -0,0 +1,44 @@
1
+ import { createReferenceDataset, updateReferenceDataset } from "../../routines";
2
+ import { referenceDatasetSaving } from "..";
3
+
4
+ const fooState = { foo: "bar" };
5
+
6
+ describe("reducers: referenceDatasetSaving", () => {
7
+ const initialState = false;
8
+
9
+ it("should provide the initial state", () => {
10
+ expect(referenceDatasetSaving(undefined, {})).toBe(initialState);
11
+ });
12
+
13
+ it("should handle the createReferenceDataset.TRIGGER action", () => {
14
+ expect(
15
+ referenceDatasetSaving(fooState, { type: createReferenceDataset.TRIGGER })
16
+ ).toBe(true);
17
+ });
18
+
19
+ it("should handle the createReferenceDataset.FULFILL action", () => {
20
+ expect(
21
+ referenceDatasetSaving(fooState, {
22
+ type: createReferenceDataset.FULFILL,
23
+ })
24
+ ).toBe(false);
25
+ });
26
+
27
+ it("should handle the updateReferenceDataset.TRIGGER action", () => {
28
+ expect(
29
+ referenceDatasetSaving(fooState, { type: updateReferenceDataset.TRIGGER })
30
+ ).toBe(true);
31
+ });
32
+
33
+ it("should handle the updateReferenceDataset.FULFILL action", () => {
34
+ expect(
35
+ referenceDatasetSaving(fooState, {
36
+ type: updateReferenceDataset.FULFILL,
37
+ })
38
+ ).toBe(false);
39
+ });
40
+
41
+ it("should ignore unknown actions", () => {
42
+ expect(referenceDatasetSaving(fooState, { type: "FOO" })).toBe(fooState);
43
+ });
44
+ });