Skip to content

Commit c70196e

Browse files
committed
feat: Review
1 parent 7f67976 commit c70196e

File tree

1 file changed

+22
-42
lines changed

1 file changed

+22
-42
lines changed

test/document-group.test.ts

Lines changed: 22 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,9 @@ describe('Document Group test', () => {
7676
})
7777

7878
test('should have components schema object which is referenced', async () => {
79-
const result = await runWithPackage(
79+
const { result } = await runPublishPackage(
8080
`document-group/${BASE_OPERATION_PATH}/referenced-json-schema-object`,
8181
groupToOnePathOperationIdsMap,
82-
{ buildType: BUILD_TYPE.REDUCED_SOURCE_SPECIFICATIONS },
8382
)
8483

8584
for (const document of Array.from(result.documents.values())) {
@@ -145,10 +144,9 @@ describe('Document Group test', () => {
145144
})
146145

147146
test('should have save pathItems in components', async () => {
148-
const result = await runWithPackage(
147+
const { result } = await runPublishPackage(
149148
`document-group/${PATH_ITEMS_OPERATION_PATH}/multiple-pathitems-operations`,
150149
groupToOperationIdsMap,
151-
{ buildType: BUILD_TYPE.REDUCED_SOURCE_SPECIFICATIONS },
152150
)
153151

154152
for (const document of Array.from(result.documents.values())) {
@@ -157,15 +155,9 @@ describe('Document Group test', () => {
157155
})
158156

159157
test('second level object are the same when overriding for pathitems response', async () => {
160-
const pkg = LocalRegistry.openPackage(`document-group/${PATH_ITEMS_OPERATION_PATH}/second-level-object-are-the-same-when-overriding-for-response`, groupToOnePathOperationIdsMap)
161-
const editor = await Editor.openProject(pkg.packageId, pkg)
162-
await pkg.publish(pkg.packageId, { packageId: pkg.packageId })
163-
164-
const result = await editor.run({
165-
packageId: pkg.packageId,
166-
groupName: GROUP_NAME,
167-
buildType: BUILD_TYPE.REDUCED_SOURCE_SPECIFICATIONS,
168-
})
158+
const { pkg, result } = await runPublishPackage(
159+
`document-group/${PATH_ITEMS_OPERATION_PATH}/second-level-object-are-the-same-when-overriding-for-response`, groupToOnePathOperationIdsMap,
160+
)
169161

170162
const expectedResult = load(
171163
(await loadFileAsString(pkg.projectsDir, pkg.packageId, EXPECTED_RESULT_FILE))!,
@@ -179,10 +171,9 @@ describe('Document Group test', () => {
179171
const COMPONENTS_ITEM_1_PATH = ['components', 'pathItems', 'componentsPathItem1']
180172

181173
test('should have documents with keep pathItems in components', async () => {
182-
const result = await runWithPackage(
174+
const { result } = await runPublishPackage(
183175
`document-group/${PATH_ITEMS_OPERATION_PATH}/define-pathitems-via-reference-object-chain`,
184176
groupToOnePathOperationIdsMap,
185-
{ buildType: BUILD_TYPE.REDUCED_SOURCE_SPECIFICATIONS },
186177
)
187178

188179
for (const document of Array.from(result.documents.values())) {
@@ -192,10 +183,9 @@ describe('Document Group test', () => {
192183
})
193184

194185
test('should have documents stripped of operations other than from provided group', async () => {
195-
const result = await runWithPackage(
186+
const { result } = await runPublishPackage(
196187
`document-group/${PATH_ITEMS_OPERATION_PATH}/define-pathitems-via-reference-object-chain`,
197188
groupWithOneOperationIdsMap,
198-
{ buildType: BUILD_TYPE.REDUCED_SOURCE_SPECIFICATIONS },
199189
)
200190

201191
for (const document of Array.from(result.documents.values())) {
@@ -208,10 +198,9 @@ describe('Document Group test', () => {
208198

209199
function runCommonTests(folder: DOCUMENT_GROUP_PATHS): void {
210200
test('should have keep a multiple operations in one path', async () => {
211-
const result = await runWithPackage(
201+
const { result } = await runPublishPackage(
212202
`document-group/${folder}/multiple-operations-in-one-path`,
213203
groupToOnePathOperationIdsMap,
214-
{ buildType: BUILD_TYPE.REDUCED_SOURCE_SPECIFICATIONS },
215204
)
216205

217206
for (const document of Array.from(result.documents.values())) {
@@ -222,10 +211,9 @@ describe('Document Group test', () => {
222211
})
223212

224213
test('should define operations with servers prefix', async () => {
225-
const result = await runWithPackage(
214+
const { result } = await runPublishPackage(
226215
`document-group/${folder}/define-operations-with-servers-prefix`,
227216
groupToOneServerPrefixPathOperationIdsMap,
228-
{ buildType: BUILD_TYPE.REDUCED_SOURCE_SPECIFICATIONS },
229217
)
230218

231219
for (const document of Array.from(result.documents.values())) {
@@ -234,10 +222,9 @@ describe('Document Group test', () => {
234222
})
235223

236224
test('should delete pathItems object which is not referenced', async () => {
237-
const result = await runWithPackage(
225+
const { result } = await runPublishPackage(
238226
`document-group/${folder}/not-referenced-object`,
239227
groupToOperationIdsMap,
240-
{ buildType: BUILD_TYPE.REDUCED_SOURCE_SPECIFICATIONS },
241228
)
242229

243230
for (const document of Array.from(result.documents.values())) {
@@ -248,10 +235,9 @@ describe('Document Group test', () => {
248235
})
249236

250237
test('should have documents stripped of operations other than from provided group', async () => {
251-
const result = await runWithPackage(
238+
const { result } = await runPublishPackage(
252239
`document-group/${folder}/stripped-of-operations`,
253240
groupToOperationIdsMap,
254-
{ buildType: BUILD_TYPE.REDUCED_SOURCE_SPECIFICATIONS },
255241
)
256242

257243
for (const document of Array.from(result.documents.values())) {
@@ -260,10 +246,9 @@ describe('Document Group test', () => {
260246
})
261247

262248
test('should not hang up when processing for response which points to itself', async () => {
263-
const result = await runWithPackage(
249+
const { result } = await runPublishPackage(
264250
`document-group/${folder}/not-hang-up-when-processing-for-response-which-points-to-itself`,
265251
groupToOnePathOperationIdsMap,
266-
{ buildType: BUILD_TYPE.REDUCED_SOURCE_SPECIFICATIONS },
267252
)
268253

269254
expect(result.documents.size).toEqual(0)
@@ -295,17 +280,11 @@ describe('Document Group test', () => {
295280
}
296281

297282
async function runMergeOperationsCase(caseName: string): Promise<void> {
298-
const pkg = LocalRegistry.openPackage(`merge-operations/${caseName}`, groupToOperationIdsMap)
299-
const editor = await Editor.openProject(pkg.packageId, pkg)
300-
301-
await pkg.publish(pkg.packageId, { packageId: pkg.packageId })
302-
303-
const result = await editor.run({
304-
packageId: pkg.packageId,
305-
buildType: BUILD_TYPE.MERGED_SPECIFICATION,
306-
groupName: GROUP_NAME,
307-
apiType: REST_API_TYPE,
308-
})
283+
const { pkg, result } = await runPublishPackage(
284+
`merge-operations/${caseName}`,
285+
groupToOperationIdsMap,
286+
{ buildType: BUILD_TYPE.MERGED_SPECIFICATION, apiType: REST_API_TYPE },
287+
)
309288

310289
const expectedResult = load(
311290
(await loadFileAsString(pkg.projectsDir, pkg.packageId, EXPECTED_RESULT_FILE))!,
@@ -314,21 +293,22 @@ describe('Document Group test', () => {
314293
expect(result.merged?.data).toEqual(expectedResult)
315294
}
316295

317-
async function runWithPackage(
296+
async function runPublishPackage(
318297
packageId: string,
319298
groupOperationIds: Record<string, string[]>,
320-
options: Partial<BuildConfigAggregator> = {},
321-
): Promise<BuildResult> {
299+
options: Partial<BuildConfigAggregator> = { buildType: BUILD_TYPE.REDUCED_SOURCE_SPECIFICATIONS },
300+
): Promise<{ pkg: LocalRegistry; result: BuildResult }> {
322301
const pkg = LocalRegistry.openPackage(packageId, groupOperationIds)
323302
const editor = await Editor.openProject(pkg.packageId, pkg)
324303
await pkg.publish(pkg.packageId, { packageId: pkg.packageId })
325304

326-
return editor.run({
305+
const result = await editor.run({
327306
...{
328307
packageId: pkg.packageId,
329308
groupName: GROUP_NAME,
330309
},
331310
...options,
332311
})
312+
return { pkg, result }
333313
}
334314
})

0 commit comments

Comments
 (0)