diff --git a/cli.js b/cli.js index 4746bdbc8..7a36c4c6e 100644 --- a/cli.js +++ b/cli.js @@ -5,12 +5,4 @@ 'use strict'; -var cli = require('./local-cli/cli.js'); - -function run() { - cli.run(); -} - -module.exports = { - run: run -}; +module.exports = require('./local-cli/cli.js'); diff --git a/local-cli/__tests__/setupPodfileTests.js b/local-cli/__tests__/setupPodfileTests.js new file mode 100644 index 000000000..c970e769c --- /dev/null +++ b/local-cli/__tests__/setupPodfileTests.js @@ -0,0 +1,38 @@ +'use strict'; + +jest.dontMock('../install'); + +var install = require('../install.js'); +var fs = require('fs'); + +describe('setup Podfile', function() { + it('creates a Podfile', function() { + fs.mkdirSync('./podfile-test'); + process.chdir('./podfile-test'); + var setupPodfile = install.setupPodfile(); + + expect(setupPodfile.podfileExists()).toBe(true); + process.chdir('../'); + }); + + it('expects Podfile to containing opening & closing react native tag', function() { + process.chdir('./podfile-test'); + var setupPodfile = install.setupPodfile(); + + var openingReactTag = '#'; + var closingReactTag = '#'; + + expect(setupPodfile.podfileText()).toContain(openingReactTag); + expect(setupPodfile.podfileText()).toContain(closingReactTag); + process.chdir('../'); + }); + + it('expects Podfile to contain React Pod', function() { + process.chdir('./podfile-test'); + var setupPodfile = install.setupPodfile(); + expect(setupPodfile.podfileText()).toContain('pod \'React\''); + process.chdir('../'); + fs.unlink("./podfile-test/Podfile"); + fs.rmdirSync("./podfile-test"); + }); +}); diff --git a/local-cli/install.js b/local-cli/install.js index c3de98aef..e0158620f 100644 --- a/local-cli/install.js +++ b/local-cli/install.js @@ -83,6 +83,20 @@ module.exports = { throw e; } } + + return { + podfileExists: function() { + try { + var podfileText = fs.readFileSync(PODFILE_PATH, 'utf8'); + return true; + } catch(e) { + return false; + } + }, + podfileText: function() { + return podfileText; + } + }; }, init: function(arguement) { // arguement is available for future arguement commands