1
1
import { ControllerMessenger } from '@metamask/base-controller' ;
2
2
import {
3
+ AllowedActions ,
3
4
MetaMetricsDataDeletionController ,
4
5
type MetaMetricsDataDeletionControllerMessengerActions ,
5
6
} from './metametrics-data-deletion' ;
@@ -10,8 +11,8 @@ describe('MetaMetricsDataDeletionController', () => {
10
11
const mockMetaMetricsId = 'mockId' ;
11
12
const mockTaskId = 'mockTaskId' ;
12
13
const { controller, dataDeletionService } = setupController ( {
14
+ metaMetricsId : mockMetaMetricsId ,
13
15
options : {
14
- getMetaMetricsId : jest . fn ( ) . mockReturnValue ( mockMetaMetricsId ) ,
15
16
dataDeletionService : {
16
17
createDataDeletionRegulationTask : jest
17
18
. fn ( )
@@ -43,8 +44,8 @@ describe('MetaMetricsDataDeletionController', () => {
43
44
const mockMetaMetricsId = 'mockId' ;
44
45
const mockTaskId = 'mockTaskId' ;
45
46
const { controller, dataDeletionService } = setupController ( {
47
+ metaMetricsId : mockMetaMetricsId ,
46
48
options : {
47
- getMetaMetricsId : jest . fn ( ) . mockReturnValue ( mockMetaMetricsId ) ,
48
49
dataDeletionService : {
49
50
createDataDeletionRegulationTask : jest
50
51
. fn ( )
@@ -76,9 +77,7 @@ describe('MetaMetricsDataDeletionController', () => {
76
77
77
78
it ( 'fails to creates a data deletion task when user has never participating in metrics tracking' , async ( ) => {
78
79
const { controller } = setupController ( {
79
- options : {
80
- getMetaMetricsId : jest . fn ( ) . mockReturnValue ( null ) ,
81
- } ,
80
+ metaMetricsId : null ,
82
81
} ) ;
83
82
await expect (
84
83
controller . createMetaMetricsDataDeletionTask ( ) ,
@@ -94,8 +93,8 @@ describe('MetaMetricsDataDeletionController', () => {
94
93
const mockMetaMetricsId = 'mockId' ;
95
94
const mockTaskId = 'mockTaskId' ;
96
95
const { controller, dataDeletionService } = setupController ( {
96
+ metaMetricsId : mockMetaMetricsId ,
97
97
options : {
98
- getMetaMetricsId : jest . fn ( ) . mockReturnValue ( mockMetaMetricsId ) ,
99
98
dataDeletionService : {
100
99
createDataDeletionRegulationTask : jest
101
100
. fn ( )
@@ -128,28 +127,35 @@ describe('MetaMetricsDataDeletionController', () => {
128
127
*
129
128
* @param options - Setup options.
130
129
* @param options.options - Controller constructor options.
130
+ * @param options.metaMetricsId - The MetaMetrics ID to use.
131
131
* @returns The test controller, a messenger instance, and related mocks.
132
132
*/
133
133
function setupController ( {
134
134
options,
135
+ metaMetricsId,
135
136
} : {
136
137
options ?: Partial <
137
138
ConstructorParameters < typeof MetaMetricsDataDeletionController > [ 0 ]
138
139
> ;
140
+ metaMetricsId ?: string | null ;
139
141
} = { } ) : {
140
142
controller : MetaMetricsDataDeletionController ;
141
143
dataDeletionService : ConstructorParameters <
142
144
typeof MetaMetricsDataDeletionController
143
145
> [ 0 ] [ 'dataDeletionService' ] ;
144
146
messenger : ControllerMessenger <
145
- MetaMetricsDataDeletionControllerMessengerActions ,
147
+ MetaMetricsDataDeletionControllerMessengerActions | AllowedActions ,
146
148
never
147
149
> ;
148
150
} {
149
- const messenger = new ControllerMessenger <
150
- MetaMetricsDataDeletionControllerMessengerActions ,
151
+ const controllerMessenger = new ControllerMessenger <
152
+ MetaMetricsDataDeletionControllerMessengerActions | AllowedActions ,
151
153
never
152
154
> ( ) ;
155
+ controllerMessenger . registerActionHandler (
156
+ 'MetaMetricsController:getState' ,
157
+ jest . fn ( ) . mockReturnValue ( { metaMetricsId } ) ,
158
+ ) ;
153
159
const mockCreateDataDeletionRegulationTaskResponse = 'mockRegulateId' ;
154
160
const mockFetchDeletionRegulationStatusResponse = 'UNKNOWN' ;
155
161
const mockDataDeletionService = {
@@ -164,9 +170,9 @@ function setupController({
164
170
const constructorOptions = {
165
171
dataDeletionService : mockDataDeletionService ,
166
172
getMetaMetricsId : jest . fn ( ) . mockReturnValue ( 'mockMetaMetricsId' ) ,
167
- messenger : messenger . getRestricted ( {
173
+ messenger : controllerMessenger . getRestricted ( {
168
174
name : 'MetaMetricsDataDeletionController' ,
169
- allowedActions : [ ] ,
175
+ allowedActions : [ 'MetaMetricsController:getState' ] ,
170
176
allowedEvents : [ ] ,
171
177
} ) ,
172
178
...options ,
@@ -176,6 +182,6 @@ function setupController({
176
182
return {
177
183
controller,
178
184
dataDeletionService : constructorOptions . dataDeletionService ,
179
- messenger,
185
+ messenger : controllerMessenger ,
180
186
} ;
181
187
}
0 commit comments