Skip to content

Commit 03128e2

Browse files
committed
improved mocking to make it easier to maintain
1 parent f72c4f5 commit 03128e2

File tree

1 file changed

+30
-110
lines changed

1 file changed

+30
-110
lines changed

x-pack/plugins/task_manager/server/plugin.test.ts

Lines changed: 30 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -100,16 +100,7 @@ describe('TaskManagerPlugin', () => {
100100
.pipe(take(1), bufferCount(1))
101101
.toPromise();
102102

103-
core$.next({
104-
elasticsearch: {
105-
level: ServiceStatusLevels.available,
106-
summary: '',
107-
},
108-
savedObjects: {
109-
level: ServiceStatusLevels.available,
110-
summary: '',
111-
},
112-
});
103+
core$.next(mockCoreStatusAvailability({ elasticsearch: true, savedObjects: true }));
113104

114105
expect(await availability).toEqual([true]);
115106
});
@@ -121,16 +112,7 @@ describe('TaskManagerPlugin', () => {
121112
.pipe(take(1), bufferCount(1))
122113
.toPromise();
123114

124-
core$.next({
125-
elasticsearch: {
126-
level: ServiceStatusLevels.unavailable,
127-
summary: '',
128-
},
129-
savedObjects: {
130-
level: ServiceStatusLevels.unavailable,
131-
summary: '',
132-
},
133-
});
115+
core$.next(mockCoreStatusAvailability({ elasticsearch: false, savedObjects: false }));
134116

135117
expect(await availability).toEqual([false]);
136118
});
@@ -142,16 +124,7 @@ describe('TaskManagerPlugin', () => {
142124
.pipe(take(1), bufferCount(1))
143125
.toPromise();
144126

145-
core$.next({
146-
elasticsearch: {
147-
level: ServiceStatusLevels.available,
148-
summary: '',
149-
},
150-
savedObjects: {
151-
level: ServiceStatusLevels.unavailable,
152-
summary: '',
153-
},
154-
});
127+
core$.next(mockCoreStatusAvailability({ elasticsearch: true, savedObjects: false }));
155128

156129
expect(await availability).toEqual([false]);
157130
});
@@ -163,38 +136,11 @@ describe('TaskManagerPlugin', () => {
163136
.pipe(take(3), bufferCount(3))
164137
.toPromise();
165138

166-
core$.next({
167-
elasticsearch: {
168-
level: ServiceStatusLevels.available,
169-
summary: '',
170-
},
171-
savedObjects: {
172-
level: ServiceStatusLevels.unavailable,
173-
summary: '',
174-
},
175-
});
139+
core$.next(mockCoreStatusAvailability({ elasticsearch: true, savedObjects: false }));
176140

177-
core$.next({
178-
elasticsearch: {
179-
level: ServiceStatusLevels.available,
180-
summary: '',
181-
},
182-
savedObjects: {
183-
level: ServiceStatusLevels.available,
184-
summary: '',
185-
},
186-
});
141+
core$.next(mockCoreStatusAvailability({ elasticsearch: true, savedObjects: true }));
187142

188-
core$.next({
189-
elasticsearch: {
190-
level: ServiceStatusLevels.unavailable,
191-
summary: '',
192-
},
193-
savedObjects: {
194-
level: ServiceStatusLevels.unavailable,
195-
summary: '',
196-
},
197-
});
143+
core$.next(mockCoreStatusAvailability({ elasticsearch: false, savedObjects: false }));
198144

199145
expect(await availability).toEqual([false, true, false]);
200146
});
@@ -206,64 +152,38 @@ describe('TaskManagerPlugin', () => {
206152
.pipe(take(3), bufferCount(3))
207153
.toPromise();
208154

209-
core$.next({
210-
elasticsearch: {
211-
level: ServiceStatusLevels.available,
212-
summary: '',
213-
},
214-
savedObjects: {
215-
level: ServiceStatusLevels.unavailable,
216-
summary: '',
217-
},
218-
});
155+
core$.next(mockCoreStatusAvailability({ elasticsearch: true, savedObjects: false }));
219156

220157
// still false, so shouldn't emit a second time
221-
core$.next({
222-
elasticsearch: {
223-
level: ServiceStatusLevels.unavailable,
224-
summary: '',
225-
},
226-
savedObjects: {
227-
level: ServiceStatusLevels.available,
228-
summary: '',
229-
},
230-
});
158+
core$.next(mockCoreStatusAvailability({ elasticsearch: false, savedObjects: true }));
231159

232-
core$.next({
233-
elasticsearch: {
234-
level: ServiceStatusLevels.available,
235-
summary: '',
236-
},
237-
savedObjects: {
238-
level: ServiceStatusLevels.available,
239-
summary: '',
240-
},
241-
});
160+
core$.next(mockCoreStatusAvailability({ elasticsearch: true, savedObjects: true }));
242161

243162
// shouldn't emit as already true
244-
core$.next({
245-
elasticsearch: {
246-
level: ServiceStatusLevels.available,
247-
summary: '',
248-
},
249-
savedObjects: {
250-
level: ServiceStatusLevels.available,
251-
summary: '',
252-
},
253-
});
163+
core$.next(mockCoreStatusAvailability({ elasticsearch: true, savedObjects: true }));
254164

255-
core$.next({
256-
elasticsearch: {
257-
level: ServiceStatusLevels.unavailable,
258-
summary: '',
259-
},
260-
savedObjects: {
261-
level: ServiceStatusLevels.unavailable,
262-
summary: '',
263-
},
264-
});
165+
core$.next(mockCoreStatusAvailability({ elasticsearch: false, savedObjects: false }));
265166

266167
expect(await availability).toEqual([false, true, false]);
267168
});
268169
});
269170
});
171+
172+
function mockCoreStatusAvailability({
173+
elasticsearch,
174+
savedObjects,
175+
}: {
176+
elasticsearch: boolean;
177+
savedObjects: boolean;
178+
}) {
179+
return {
180+
elasticsearch: {
181+
level: elasticsearch ? ServiceStatusLevels.available : ServiceStatusLevels.unavailable,
182+
summary: '',
183+
},
184+
savedObjects: {
185+
level: savedObjects ? ServiceStatusLevels.available : ServiceStatusLevels.unavailable,
186+
summary: '',
187+
},
188+
};
189+
}

0 commit comments

Comments
 (0)