@truedat/dq 4.33.10 → 4.35.2

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 (96) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/package.json +5 -5
  3. package/src/api.js +7 -1
  4. package/src/components/ConditionSummary.js +23 -21
  5. package/src/components/ExecutionDetails.js +11 -14
  6. package/src/components/ExecutionGroup.js +24 -15
  7. package/src/components/ImplementationResultBar.js +80 -0
  8. package/src/components/ImplementationSummary.js +33 -72
  9. package/src/components/ImplementationsUploadButton.js +61 -0
  10. package/src/components/InformationSummary.js +68 -0
  11. package/src/components/NewRuleImplementation.js +12 -0
  12. package/src/components/RuleForm.js +0 -178
  13. package/src/components/RuleImplementation.js +10 -6
  14. package/src/components/RuleImplementationProperties.js +31 -64
  15. package/src/components/RuleImplementationResults.js +87 -53
  16. package/src/components/RuleImplementationsActions.js +3 -59
  17. package/src/components/RuleImplementationsDownload.js +86 -0
  18. package/src/components/RuleImplementationsOptions.js +28 -0
  19. package/src/components/RuleProperties.js +1 -10
  20. package/src/components/RuleResultDecorator.js +43 -26
  21. package/src/components/RuleResultRow.js +4 -1
  22. package/src/components/RuleResultsUpload.js +47 -0
  23. package/src/components/RuleRoutes.js +0 -13
  24. package/src/components/RuleSummary.js +15 -2
  25. package/src/components/RulesActions.js +17 -10
  26. package/src/components/RulesUploadButton.js +58 -0
  27. package/src/components/__tests__/ExecutionGroup.spec.js +11 -7
  28. package/src/components/__tests__/ImplementationResultBar.spec.js +98 -0
  29. package/src/components/__tests__/ImplementationSummary.spec.js +9 -26
  30. package/src/components/__tests__/InformationSummary.spec.js +35 -0
  31. package/src/components/__tests__/NewRuleImplementation.spec.js +1 -1
  32. package/src/components/__tests__/RuleForm.spec.js +0 -191
  33. package/src/components/__tests__/RuleImplementation.spec.js +1 -0
  34. package/src/components/__tests__/RuleImplementationProperties.spec.js +23 -33
  35. package/src/components/__tests__/RuleImplementationsActions.spec.js +0 -9
  36. package/src/components/__tests__/RuleImplementationsOptions.spec.js +18 -0
  37. package/src/components/__tests__/RuleProperties.spec.js +7 -9
  38. package/src/components/__tests__/RuleResultDecorator.spec.js +17 -11
  39. package/src/components/__tests__/RuleResultRow.spec.js +25 -46
  40. package/src/components/__tests__/RuleResultsUpload.spec.js +18 -0
  41. package/src/components/__tests__/RuleRow.spec.js +0 -4
  42. package/src/components/__tests__/RuleSummary.spec.js +6 -6
  43. package/src/components/__tests__/Rules.spec.js +15 -39
  44. package/src/components/__tests__/__snapshots__/ConditionSummary.spec.js.snap +55 -51
  45. package/src/components/__tests__/__snapshots__/ExecutionGroup.spec.js.snap +5 -4
  46. package/src/components/__tests__/__snapshots__/ImplementationResultBar.spec.js.snap +141 -0
  47. package/src/components/__tests__/__snapshots__/ImplementationSummary.spec.js.snap +194 -457
  48. package/src/components/__tests__/__snapshots__/InformationSummary.spec.js.snap +185 -0
  49. package/src/components/__tests__/__snapshots__/NewRuleImplementation.spec.js.snap +6 -0
  50. package/src/components/__tests__/__snapshots__/RuleForm.spec.js.snap +0 -148
  51. package/src/components/__tests__/__snapshots__/RuleImplementation.spec.js.snap +20 -0
  52. package/src/components/__tests__/__snapshots__/RuleImplementationProperties.spec.js.snap +43 -49
  53. package/src/components/__tests__/__snapshots__/RuleImplementationResults.spec.js.snap +63 -61
  54. package/src/components/__tests__/__snapshots__/RuleImplementationsActions.spec.js.snap +1 -7
  55. package/src/components/__tests__/__snapshots__/RuleImplementationsOptions.spec.js.snap +58 -0
  56. package/src/components/__tests__/__snapshots__/RuleProperties.spec.js.snap +0 -1
  57. package/src/components/__tests__/__snapshots__/RuleResultsUpload.spec.js.snap +18 -0
  58. package/src/components/__tests__/__snapshots__/RuleRow.spec.js.snap +0 -28
  59. package/src/components/__tests__/__snapshots__/Rules.spec.js.snap +0 -101
  60. package/src/components/ruleImplementationForm/FiltersGroup.js +1 -0
  61. package/src/components/ruleImplementationForm/InformationForm.js +5 -5
  62. package/src/components/ruleImplementationForm/LimitsForm.js +142 -0
  63. package/src/components/ruleImplementationForm/RuleImplementationForm.js +14 -4
  64. package/src/components/ruleImplementationForm/RuleImplementationRawForm.js +16 -6
  65. package/src/components/ruleImplementationForm/ValueConditions.js +11 -0
  66. package/src/components/ruleImplementationForm/__tests__/LimitsForm.spec.js +186 -0
  67. package/src/components/ruleImplementationForm/__tests__/RuleImplementationRawForm.spec.js +42 -35
  68. package/src/components/ruleImplementationForm/__tests__/__snapshots__/LimitsForm.spec.js.snap +1104 -0
  69. package/src/components/ruleImplementationForm/__tests__/__snapshots__/RuleImplementationForm.spec.js.snap +4 -1
  70. package/src/components/ruleImplementationForm/__tests__/__snapshots__/RuleImplementationRawForm.spec.js.snap +12 -1
  71. package/src/components/ruleImplementationForm/limitsValidation.js +72 -0
  72. package/src/messages/en.js +167 -76
  73. package/src/messages/es.js +292 -185
  74. package/src/reducers/__tests__/rule.spec.js +2 -4
  75. package/src/reducers/__tests__/ruleImplementation.spec.js +2 -0
  76. package/src/reducers/__tests__/ruleImplementations.spec.js +12 -8
  77. package/src/reducers/__tests__/uploadingResults.spec.js +28 -0
  78. package/src/reducers/dqMessage.js +121 -1
  79. package/src/reducers/index.js +6 -0
  80. package/src/reducers/rule.js +0 -3
  81. package/src/reducers/ruleImplementation.js +3 -0
  82. package/src/reducers/ruleImplementationRedirect.js +6 -1
  83. package/src/reducers/ruleImplementations.js +3 -0
  84. package/src/reducers/ruleRedirect.js +5 -0
  85. package/src/reducers/uploadImplementationsFile.js +28 -0
  86. package/src/reducers/uploadRulesFile.js +25 -0
  87. package/src/reducers/uploadingResults.js +16 -0
  88. package/src/routines.js +3 -0
  89. package/src/sagas/__tests__/uploadResults.spec.js +65 -0
  90. package/src/sagas/index.js +9 -0
  91. package/src/sagas/uploadImplementations.js +28 -0
  92. package/src/sagas/uploadResults.js +32 -0
  93. package/src/sagas/uploadRules.js +28 -0
  94. package/src/selectors/getRuleImplementationColumns.js +38 -3
  95. package/src/selectors/ruleColumnsSelector.js +0 -31
  96. package/src/styles/ruleSummary.less +17 -10
@@ -0,0 +1,185 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`<InformationSummary /> renders errors_number result_type 1`] = `
4
+ <div>
5
+ <h3
6
+ class="ui header"
7
+ >
8
+ <i
9
+ aria-hidden="true"
10
+ class="info small icon"
11
+ />
12
+ <div
13
+ class="content"
14
+ >
15
+ Information
16
+ </div>
17
+ </h3>
18
+ <div
19
+ class="ui segment"
20
+ >
21
+ <div
22
+ class="ui list"
23
+ role="list"
24
+ >
25
+ <div
26
+ class="item"
27
+ role="listitem"
28
+ >
29
+ <div
30
+ class="header"
31
+ >
32
+ Limits
33
+ </div>
34
+ <div
35
+ class="content"
36
+ >
37
+ <div
38
+ class="description"
39
+ >
40
+ Error count
41
+ </div>
42
+ </div>
43
+ </div>
44
+ <div
45
+ class="item"
46
+ role="listitem"
47
+ >
48
+ <i
49
+ aria-hidden="true"
50
+ class="yellow circle icon"
51
+ />
52
+ <div
53
+ class="content"
54
+ >
55
+ <div
56
+ class="header"
57
+ >
58
+ Threshold
59
+ </div>
60
+ <div
61
+ class="description"
62
+ >
63
+ 50
64
+ </div>
65
+ </div>
66
+ </div>
67
+ <div
68
+ class="item"
69
+ role="listitem"
70
+ >
71
+ <i
72
+ aria-hidden="true"
73
+ class="green circle icon"
74
+ />
75
+ <div
76
+ class="content"
77
+ >
78
+ <div
79
+ class="header"
80
+ >
81
+ Goal
82
+ </div>
83
+ <div
84
+ class="description"
85
+ >
86
+ 80
87
+ </div>
88
+ </div>
89
+ </div>
90
+ </div>
91
+ </div>
92
+ </div>
93
+ `;
94
+
95
+ exports[`<InformationSummary /> renders percentage result_type 1`] = `
96
+ <div>
97
+ <h3
98
+ class="ui header"
99
+ >
100
+ <i
101
+ aria-hidden="true"
102
+ class="info small icon"
103
+ />
104
+ <div
105
+ class="content"
106
+ >
107
+ Information
108
+ </div>
109
+ </h3>
110
+ <div
111
+ class="ui segment"
112
+ >
113
+ <div
114
+ class="ui list"
115
+ role="list"
116
+ >
117
+ <div
118
+ class="item"
119
+ role="listitem"
120
+ >
121
+ <div
122
+ class="header"
123
+ >
124
+ Limits
125
+ </div>
126
+ <div
127
+ class="content"
128
+ >
129
+ <div
130
+ class="description"
131
+ >
132
+ Percentage
133
+ </div>
134
+ </div>
135
+ </div>
136
+ <div
137
+ class="item"
138
+ role="listitem"
139
+ >
140
+ <i
141
+ aria-hidden="true"
142
+ class="yellow circle icon"
143
+ />
144
+ <div
145
+ class="content"
146
+ >
147
+ <div
148
+ class="header"
149
+ >
150
+ Threshold
151
+ </div>
152
+ <div
153
+ class="description"
154
+ >
155
+ 50 %
156
+ </div>
157
+ </div>
158
+ </div>
159
+ <div
160
+ class="item"
161
+ role="listitem"
162
+ >
163
+ <i
164
+ aria-hidden="true"
165
+ class="green circle icon"
166
+ />
167
+ <div
168
+ class="content"
169
+ >
170
+ <div
171
+ class="header"
172
+ >
173
+ Goal
174
+ </div>
175
+ <div
176
+ class="description"
177
+ >
178
+ 80 %
179
+ </div>
180
+ </div>
181
+ </div>
182
+ </div>
183
+ </div>
184
+ </div>
185
+ `;
@@ -38,8 +38,10 @@ exports[`<NewRuleImplementation /> matches the latest snapshot 1`] = `
38
38
  "dfContent": Object {},
39
39
  "dfName": "",
40
40
  "executable": true,
41
+ "goal": null,
41
42
  "implementationKey": "",
42
43
  "implementationType": "default",
44
+ "minimum": null,
43
45
  "population": Array [],
44
46
  "rawContent": Object {
45
47
  "database": "",
@@ -48,6 +50,7 @@ exports[`<NewRuleImplementation /> matches the latest snapshot 1`] = `
48
50
  "source_id": null,
49
51
  "validations": "",
50
52
  },
53
+ "result_type": "percentage",
51
54
  "validations": Array [
52
55
  Object {},
53
56
  ],
@@ -72,8 +75,10 @@ exports[`<NewRuleImplementation /> matches the latest snapshot 1`] = `
72
75
  "dfContent": Object {},
73
76
  "dfName": "",
74
77
  "executable": true,
78
+ "goal": null,
75
79
  "implementationKey": "",
76
80
  "implementationType": "default",
81
+ "minimum": null,
77
82
  "population": Array [],
78
83
  "rawContent": Object {
79
84
  "database": "",
@@ -82,6 +87,7 @@ exports[`<NewRuleImplementation /> matches the latest snapshot 1`] = `
82
87
  "source_id": null,
83
88
  "validations": "",
84
89
  },
90
+ "result_type": "percentage",
85
91
  "validations": Array [
86
92
  Object {},
87
93
  ],
@@ -234,85 +234,6 @@ exports[`<RuleForm /> matches the latest snapshot for create 1`] = `
234
234
  </AccordionContent>
235
235
  </Accordion>
236
236
  </Segment>
237
- <Segment>
238
- <FieldLabelWrapping
239
- label="rule.props.result_type"
240
- required={true}
241
- tooltip="rule.form.tooltip.result_type"
242
- >
243
- <FormGroup
244
- inline={true}
245
- >
246
- <FormRadio
247
- as={[Function]}
248
- checked={true}
249
- control={[Function]}
250
- label="rule.props.result_type.percentage"
251
- name="result_type"
252
- onChange={[Function]}
253
- value="percentage"
254
- />
255
- <FormRadio
256
- as={[Function]}
257
- checked={false}
258
- control={[Function]}
259
- label="rule.props.result_type.deviation"
260
- name="result_type"
261
- onChange={[Function]}
262
- value="deviation"
263
- />
264
- <FormRadio
265
- as={[Function]}
266
- checked={false}
267
- control={[Function]}
268
- label="rule.props.result_type.errors_number"
269
- name="result_type"
270
- onChange={[Function]}
271
- value="errors_number"
272
- />
273
- </FormGroup>
274
- </FieldLabelWrapping>
275
- <FieldLabelWrapping
276
- label="rule.props.minimum"
277
- messages={
278
- Array [
279
- "rule.form.validation.empty_required",
280
- ]
281
- }
282
- required={true}
283
- tooltip="rule.form.tooltip.percentage.minimum"
284
- >
285
- <FormInput
286
- as={[Function]}
287
- autoComplete="off"
288
- control={[Function]}
289
- name="minimum"
290
- onChange={[Function]}
291
- placeholder="rule.props.minimum.placeholder"
292
- value=""
293
- />
294
- </FieldLabelWrapping>
295
- <FieldLabelWrapping
296
- label="rule.props.goal"
297
- messages={
298
- Array [
299
- "rule.form.validation.empty_required",
300
- ]
301
- }
302
- required={true}
303
- tooltip="rule.form.tooltip.percentage.goal"
304
- >
305
- <FormInput
306
- as={[Function]}
307
- autoComplete="off"
308
- control={[Function]}
309
- name="goal"
310
- onChange={[Function]}
311
- placeholder="rule.props.goal.placeholder"
312
- value=""
313
- />
314
- </FieldLabelWrapping>
315
- </Segment>
316
237
  <Connect(DynamicRuleForm)
317
238
  dfContent={Object {}}
318
239
  handleContentChange={[Function]}
@@ -479,75 +400,6 @@ exports[`<RuleForm /> matches the latest snapshot for editMode 1`] = `
479
400
  </AccordionContent>
480
401
  </Accordion>
481
402
  </Segment>
482
- <Segment>
483
- <FieldLabelWrapping
484
- label="rule.props.result_type"
485
- required={true}
486
- tooltip="rule.form.tooltip.result_type"
487
- >
488
- <FormGroup
489
- inline={true}
490
- >
491
- <FormRadio
492
- as={[Function]}
493
- checked={true}
494
- control={[Function]}
495
- label="rule.props.result_type.percentage"
496
- name="result_type"
497
- onChange={[Function]}
498
- value="percentage"
499
- />
500
- <FormRadio
501
- as={[Function]}
502
- checked={false}
503
- control={[Function]}
504
- label="rule.props.result_type.deviation"
505
- name="result_type"
506
- onChange={[Function]}
507
- value="deviation"
508
- />
509
- <FormRadio
510
- as={[Function]}
511
- checked={false}
512
- control={[Function]}
513
- label="rule.props.result_type.errors_number"
514
- name="result_type"
515
- onChange={[Function]}
516
- value="errors_number"
517
- />
518
- </FormGroup>
519
- </FieldLabelWrapping>
520
- <FieldLabelWrapping
521
- label="rule.props.minimum"
522
- required={true}
523
- tooltip="rule.form.tooltip.percentage.minimum"
524
- >
525
- <FormInput
526
- as={[Function]}
527
- autoComplete="off"
528
- control={[Function]}
529
- name="minimum"
530
- onChange={[Function]}
531
- placeholder="rule.props.minimum.placeholder"
532
- value={1}
533
- />
534
- </FieldLabelWrapping>
535
- <FieldLabelWrapping
536
- label="rule.props.goal"
537
- required={true}
538
- tooltip="rule.form.tooltip.percentage.goal"
539
- >
540
- <FormInput
541
- as={[Function]}
542
- autoComplete="off"
543
- control={[Function]}
544
- name="goal"
545
- onChange={[Function]}
546
- placeholder="rule.props.goal.placeholder"
547
- value={10}
548
- />
549
- </FieldLabelWrapping>
550
- </Segment>
551
403
  <Connect(DynamicRuleForm)
552
404
  dfContent={Object {}}
553
405
  handleContentChange={[Function]}
@@ -19,6 +19,26 @@ exports[`<RuleImplementation /> matches the latest snapshot 1`] = `
19
19
  class="content"
20
20
  >
21
21
  impl key
22
+ <div
23
+ class="rule-summary-wrapper"
24
+ >
25
+ <a
26
+ as="div"
27
+ class="rule-summary pointer"
28
+ href="/rules/1/implementations/1/results"
29
+ >
30
+ <span
31
+ class="not-executed-color"
32
+ style="width: 100%;"
33
+ >
34
+ <span
35
+ class="value"
36
+ >
37
+ quality.result.no.data
38
+ </span>
39
+ </span>
40
+ </a>
41
+ </div>
22
42
  </div>
23
43
  </h2>
24
44
  </div>
@@ -16,6 +16,46 @@ exports[`<RuleImplementationProperties /> matches the latest snapshot 1`] = `
16
16
  </Label>
17
17
  </GridColumn>
18
18
  </GridRow>
19
+ <GridRow>
20
+ <GridColumn
21
+ width={10}
22
+ >
23
+ <InformationSummary
24
+ ruleImplementation={
25
+ Object {
26
+ "executable": true,
27
+ "goal": 10,
28
+ "id": 10,
29
+ "minimum": 1,
30
+ "name": "NameRule2",
31
+ "result_type": "percentage",
32
+ "system": Object {
33
+ "external_id": "Microstrategy",
34
+ "id": 1,
35
+ "name": "Microstrategy",
36
+ },
37
+ "system_params": Object {
38
+ "column": Object {
39
+ "id": 2876,
40
+ "name": "% Abandono de Clientes ac. año / Cartera Clientes",
41
+ "path": Array [
42
+ "CRM",
43
+ "Objetos Públicos",
44
+ "Informes",
45
+ "Validación",
46
+ "ACGC - 01.00 Análisis General Compañía",
47
+ ],
48
+ },
49
+ "table": Object {
50
+ "name": "aaaxxx",
51
+ },
52
+ },
53
+ "type": "integer_values_range",
54
+ }
55
+ }
56
+ />
57
+ </GridColumn>
58
+ </GridRow>
19
59
  <GridColumn
20
60
  width={10}
21
61
  >
@@ -30,8 +70,11 @@ exports[`<RuleImplementationProperties /> matches the latest snapshot 1`] = `
30
70
  ruleImplementation={
31
71
  Object {
32
72
  "executable": true,
73
+ "goal": 10,
33
74
  "id": 10,
75
+ "minimum": 1,
34
76
  "name": "NameRule2",
77
+ "result_type": "percentage",
35
78
  "system": Object {
36
79
  "external_id": "Microstrategy",
37
80
  "id": 1,
@@ -59,54 +102,5 @@ exports[`<RuleImplementationProperties /> matches the latest snapshot 1`] = `
59
102
  />
60
103
  </GridColumn>
61
104
  </Grid>
62
- <Header
63
- as="h3"
64
- >
65
- <MemoizedFormattedMessage
66
- id="rule.props.result_type.percentage"
67
- />
68
- </Header>
69
- <List>
70
- <ListItem>
71
- <Icon
72
- as="i"
73
- color="yellow"
74
- name="circle"
75
- />
76
- <ListContent>
77
- <ListDescription>
78
- <MemoizedFormattedMessage
79
- id="quality.threshold"
80
- />
81
- : 1 %
82
- </ListDescription>
83
- </ListContent>
84
- </ListItem>
85
- <ListItem>
86
- <Icon
87
- as="i"
88
- color="green"
89
- name="circle"
90
- />
91
- <ListContent>
92
- <ListDescription>
93
- <MemoizedFormattedMessage
94
- id="quality.goal"
95
- />
96
- : 10 %
97
- </ListDescription>
98
- </ListContent>
99
- </ListItem>
100
- </List>
101
- <Header
102
- as="h3"
103
- >
104
- <MemoizedFormattedMessage
105
- id="quality.rule.quality"
106
- />
107
- </Header>
108
- <MemoizedFormattedMessage
109
- id="quality.result.no.data"
110
- />
111
105
  </Segment>
112
106
  `;
@@ -1,72 +1,74 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`<RuleImplementationResults /> matches the latest snapshot 1`] = `
4
- <Table
5
- as="table"
6
- className="implementation-results small"
7
- selectable={true}
8
- >
9
- <TableHeader
10
- as="thead"
4
+ <Fragment>
5
+ <Table
6
+ as="table"
7
+ className="implementation-results small"
8
+ selectable={true}
11
9
  >
12
- <TableRow
13
- as="tr"
14
- cellAs="td"
10
+ <TableHeader
11
+ as="thead"
15
12
  >
16
- <TableHeaderCell
17
- as="th"
18
- content="ruleResult.props.quality"
19
- />
20
- <TableHeaderCell
21
- as="th"
22
- content="ruleResult.props.date"
23
- />
24
- <TableHeaderCell
25
- as="th"
26
- content="foo"
27
- key="0"
28
- />
29
- <TableHeaderCell
30
- as="th"
31
- />
32
- </TableRow>
33
- </TableHeader>
34
- <TableBody
35
- as="tbody"
36
- >
37
- <Connect(RuleResultRow)
38
- customColumns={
39
- Array [
40
- Object {
41
- "foo": "bar",
42
- "name": "foo",
43
- },
44
- ]
45
- }
46
- key="0"
47
- optionalColumns={Array []}
48
- rule={
49
- Object {
50
- "goal": 100,
51
- "minimum": 50,
52
- "result_type": "percentage",
53
- }
54
- }
55
- ruleImplementation={
56
- Object {
57
- "results": Array [
13
+ <TableRow
14
+ as="tr"
15
+ cellAs="td"
16
+ >
17
+ <TableHeaderCell
18
+ as="th"
19
+ content="ruleResult.props.quality"
20
+ />
21
+ <TableHeaderCell
22
+ as="th"
23
+ content="ruleResult.props.date"
24
+ />
25
+ <TableHeaderCell
26
+ as="th"
27
+ content="foo"
28
+ key="0"
29
+ />
30
+ <TableHeaderCell
31
+ as="th"
32
+ />
33
+ </TableRow>
34
+ </TableHeader>
35
+ <TableBody
36
+ as="tbody"
37
+ >
38
+ <Connect(RuleResultRow)
39
+ customColumns={
40
+ Array [
58
41
  Object {
59
42
  "foo": "bar",
43
+ "name": "foo",
60
44
  },
61
- ],
45
+ ]
62
46
  }
63
- }
64
- ruleResult={
65
- Object {
66
- "foo": "bar",
47
+ key="0"
48
+ optionalColumns={Array []}
49
+ rule={
50
+ Object {
51
+ "goal": 100,
52
+ "minimum": 50,
53
+ "result_type": "percentage",
54
+ }
55
+ }
56
+ ruleImplementation={
57
+ Object {
58
+ "results": Array [
59
+ Object {
60
+ "foo": "bar",
61
+ },
62
+ ],
63
+ }
67
64
  }
68
- }
69
- />
70
- </TableBody>
71
- </Table>
65
+ ruleResult={
66
+ Object {
67
+ "foo": "bar",
68
+ }
69
+ }
70
+ />
71
+ </TableBody>
72
+ </Table>
73
+ </Fragment>
72
74
  `;
@@ -27,14 +27,8 @@ exports[`<RuleImplementationsActions /> matches the latest snapshot 1`] = `
27
27
  disabled={true}
28
28
  handleSubmit={[Function]}
29
29
  />
30
- <Button
31
- as="button"
32
- data-tooltip="implementations.actions.download.tooltip"
33
- floated="right"
34
- icon="download"
30
+ <RuleImplementationsOptions
35
31
  loading={false}
36
- onClick={[Function]}
37
- secondary={true}
38
32
  />
39
33
  </div>
40
34
  `;