UNPKG

closeheat

Version:

Static Website Hosting with CMS without touching your code.

41 lines (30 loc) 1.21 kB
path = require 'path' fs = require 'fs' rimraf = require 'rimraf' Promise = require 'bluebird' Git = require('git-wrapper') TestConfig = require('./test_config') module.exports = class TestGit @exec: -> Promise.promisify(new Git().exec) @init: -> rimraf.sync(TestConfig.websiteDir()) fs.mkdirSync(TestConfig.websiteDir()) @exec("-C '#{TestConfig.websiteDir()}' init").then(@configureLocally) @configureLocally: => @exec("-C '#{TestConfig.websiteDir()}' config --local user.email 'joseph@kittinger.com'").then => @exec("-C '#{TestConfig.websiteDir()}' config --local user.name 'Joseph Kittinger'") @createFile: => fs.writeFileSync(path.join(TestConfig.websiteDir(), 'test-file.txt'), 'Testing') @addAll: => @exec "-C '#{TestConfig.websiteDir()}' add ." @commit: => @exec "-C '#{TestConfig.websiteDir()}' commit -m 'Testing commit message'" @exec: (args...) => new Promise (resolve, reject) => new Git().exec args..., (err, resp) -> reject(err) if err resolve(resp) @addRemote: (name = 'origin', url = 'git@github.com:example-org/example-repo.git') => @exec "-C '#{TestConfig.websiteDir()}' remote", ['add', name, url]