/* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright * ownership. Elasticsearch B.V. licenses this file to you under * the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ import { EcsInterface } from './build_types/interface'; import { outputDefinitions } from './output_definitions'; import { writeFile } from './write_file'; jest.mock('./write_file'); describe('outputDefinitions()', () => { beforeEach(jest.clearAllMocks); it('should call writeFile', () => { outputDefinitions([new EcsInterface({ name: 'base', description: '' })], { outPath: 'output', ref: 'main', ecsVersionString: 'main', }); expect(writeFile).toHaveBeenCalledTimes(1); expect(jest.mocked(writeFile).mock.calls[0]).toMatchInlineSnapshot(` Array [ "output/base.ts", " export interface EcsBase { } ", ] `); expect(jest.mocked(writeFile).mock.calls[1]).toMatchInlineSnapshot( `undefined` ); }); });