mirror of
https://github.com/status-im/react-native.git
synced 2025-01-09 09:12:02 +00:00
85 lines
2.1 KiB
JavaScript
85 lines
2.1 KiB
JavaScript
|
jest.autoMockOff();
|
||
|
|
||
|
const findProject = require('../../src/config/ios/findProject');
|
||
|
const mockFs = require('mock-fs');
|
||
|
const projects = require('../fixtures/projects');
|
||
|
const ios = require('../fixtures/ios');
|
||
|
const userConfig = {};
|
||
|
|
||
|
describe('ios::findProject', () => {
|
||
|
it('should return path to xcodeproj if found', () => {
|
||
|
mockFs(projects.flat);
|
||
|
expect(findProject('')).not.toBe(null);
|
||
|
});
|
||
|
|
||
|
it('should return null if there\'re no projects', () => {
|
||
|
mockFs({ testDir: projects });
|
||
|
expect(findProject('')).toBe(null);
|
||
|
});
|
||
|
|
||
|
it('should return ios project regardless of its name', () => {
|
||
|
mockFs({ ios: ios.validTestName });
|
||
|
expect(findProject('')).not.toBe(null);
|
||
|
});
|
||
|
|
||
|
it('should ignore node_modules', () => {
|
||
|
mockFs({ node_modules: projects.flat });
|
||
|
expect(findProject('')).toBe(null);
|
||
|
});
|
||
|
|
||
|
it('should ignore Pods', () => {
|
||
|
mockFs({ Pods: projects.flat });
|
||
|
expect(findProject('')).toBe(null);
|
||
|
});
|
||
|
|
||
|
it('should ignore Pods inside `ios` folder', () => {
|
||
|
mockFs({
|
||
|
ios: {
|
||
|
Pods: projects.flat,
|
||
|
DemoApp: projects.flat.ios,
|
||
|
},
|
||
|
});
|
||
|
expect(findProject('')).toBe('ios/DemoApp/demoProject.xcodeproj');
|
||
|
});
|
||
|
|
||
|
it('should ignore xcodeproj from example folders', () => {
|
||
|
mockFs({
|
||
|
examples: projects.flat,
|
||
|
Examples: projects.flat,
|
||
|
example: projects.flat,
|
||
|
KeychainExample: projects.flat,
|
||
|
Zpp: projects.flat,
|
||
|
});
|
||
|
|
||
|
expect(findProject('').toLowerCase()).not.toContain('example');
|
||
|
});
|
||
|
|
||
|
it('should ignore xcodeproj from sample folders', () => {
|
||
|
mockFs({
|
||
|
samples: projects.flat,
|
||
|
Samples: projects.flat,
|
||
|
sample: projects.flat,
|
||
|
KeychainSample: projects.flat,
|
||
|
Zpp: projects.flat,
|
||
|
});
|
||
|
|
||
|
expect(findProject('').toLowerCase()).not.toContain('sample');
|
||
|
});
|
||
|
|
||
|
it('should ignore xcodeproj from test folders at any level', () => {
|
||
|
mockFs({
|
||
|
test: projects.flat,
|
||
|
IntegrationTests: projects.flat,
|
||
|
tests: projects.flat,
|
||
|
Zpp: {
|
||
|
tests: projects.flat,
|
||
|
src: projects.flat,
|
||
|
},
|
||
|
});
|
||
|
|
||
|
expect(findProject('').toLowerCase()).not.toContain('test');
|
||
|
});
|
||
|
|
||
|
afterEach(mockFs.restore);
|
||
|
});
|