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