1import { vol } from 'memfs';
2
3import { promptToClearMalformedNativeProjectsAsync } from '../../prebuild/clearNativeFolder';
4import { prebuildAsync } from '../../prebuild/prebuildAsync';
5import { ensureNativeProjectAsync } from '../ensureNativeProject';
6
7jest.mock('../../prebuild/prebuildAsync', () => ({
8  prebuildAsync: jest.fn(),
9}));
10
11jest.mock('../../prebuild/clearNativeFolder', () => ({
12  promptToClearMalformedNativeProjectsAsync: jest.fn(),
13}));
14
15describe(ensureNativeProjectAsync, () => {
16  afterEach(() => vol.reset());
17
18  it(`clears malformed project and regenerates`, async () => {
19    vol.fromJSON({}, '/');
20    await ensureNativeProjectAsync('/', { platform: 'android', install: true });
21    expect(promptToClearMalformedNativeProjectsAsync).toHaveBeenCalledWith('/', ['android']);
22    expect(prebuildAsync).toHaveBeenCalledWith('/', { install: true, platforms: ['android'] });
23  });
24});
25