smartgit/test/test.js

79 lines
5.9 KiB
JavaScript
Raw Normal View History

2016-06-12 14:46:59 +00:00
"use strict";
require("typings-test");
2016-11-22 20:49:40 +00:00
let shelljs = require('shelljs');
2016-11-21 18:34:59 +00:00
const path = require("path");
2016-11-22 20:49:40 +00:00
const should = require("should");
2016-11-21 18:34:59 +00:00
const smartgit = require("../dist/index");
let paths = {
2016-11-22 20:49:40 +00:00
temp: path.resolve('./test/temp/'),
temp2: path.resolve('./test/temp2/'),
temp3: path.resolve('./test/temp3'),
temp4: path.resolve('./test/temp4'),
noGit: path.resolve('./test/')
2016-07-03 22:00:04 +00:00
};
2016-11-22 20:49:40 +00:00
describe('smartgit', function () {
let testGitRepo;
let testGitRepoCloned;
let testGitRepoInit;
describe('instance', function () {
it('should create a valid new instance from path', function () {
testGitRepo = new smartgit.GitRepo('path.temp');
should(testGitRepo).be.instanceOf(smartgit.GitRepo);
});
it('should clone a repository using ssh and sshkey', function (done) {
2016-07-04 01:49:24 +00:00
this.timeout(40000);
2016-11-22 20:49:40 +00:00
smartgit.createRepoFromClone('git@gitlab.com:sandboxzone/sandbox-testrepo.git', paths.temp)
.then((gitRepo) => {
should(gitRepo).be.instanceOf(smartgit.GitRepo);
2016-03-30 23:59:45 +00:00
done();
2016-11-22 20:49:40 +00:00
}).catch(err => {
throw err;
2016-03-30 23:59:45 +00:00
});
});
2016-11-22 20:49:40 +00:00
it('should clone a repository using https', function (done) {
2016-07-04 01:49:24 +00:00
this.timeout(40000);
2016-11-22 20:49:40 +00:00
smartgit.createRepoFromClone('https://gitlab.com/sandboxzone/sandbox-testrepo.git', paths.temp2)
.then((gitRepo) => {
should(gitRepo).be.instanceOf(smartgit.GitRepo);
2016-06-12 14:46:59 +00:00
done();
2016-11-22 20:49:40 +00:00
}).catch(err => {
throw err;
2016-06-12 14:46:59 +00:00
});
});
2016-03-30 23:59:45 +00:00
});
2016-11-22 20:49:40 +00:00
describe('.add', function () {
it('should add a file to an existing repository', function () {
2016-11-21 18:34:59 +00:00
shelljs.exec(`(cd ${paths.temp} && cp ../test.js .)`);
2016-11-22 20:49:40 +00:00
testGitRepo.addAll(paths.temp);
2016-07-03 22:00:04 +00:00
});
2016-03-30 23:59:45 +00:00
});
2016-11-22 20:49:40 +00:00
describe('commit', function () {
it('should commit a new file to an existing repository', function () {
testGitRepo.commit('added a new file');
2016-07-03 22:00:04 +00:00
});
2016-03-30 23:59:45 +00:00
});
2016-11-22 20:49:40 +00:00
describe('pull', function () {
2016-07-04 01:49:24 +00:00
this.timeout(40000);
2016-11-22 20:49:40 +00:00
it('should pull from origin', function (done) {
testGitRepo.pull()
.then(() => {
done();
});
2016-07-03 22:00:04 +00:00
});
2016-03-30 23:59:45 +00:00
});
2016-11-22 20:49:40 +00:00
describe('push', function () {
2016-07-05 01:47:38 +00:00
this.timeout(40000);
2016-11-22 20:49:40 +00:00
it('should push to origin', function (done) {
testGitRepo.push('origin', 'master')
.then(() => {
done();
});
2016-07-05 01:47:38 +00:00
});
});
2016-11-22 20:49:40 +00:00
describe('remote', function () {
it('should add a remote', function () {
testGitRepo.remoteAdd('origin2', 'https://github.com/pushrocks/somerepo');
2016-07-04 01:49:24 +00:00
});
});
2016-03-30 23:59:45 +00:00
});
2016-11-22 20:49:40 +00:00
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdCQUFxQjtBQUVyQixJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDaEMsNkJBQTZCO0FBQzdCLGlDQUFnQztBQUVoQywwQ0FBMEM7QUFDMUMsSUFBSSxLQUFLLEdBQUc7SUFDUixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7SUFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQ3BDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQztJQUNuQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7SUFDbkMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0NBQ2pDLENBQUE7QUFFRCxRQUFRLENBQUMsVUFBVSxFQUFFO0lBQ2pCLElBQUksV0FBNkIsQ0FBQTtJQUNqQyxJQUFJLGlCQUFtQyxDQUFBO0lBQ3ZDLElBQUksZUFBaUMsQ0FBQTtJQUNyQyxRQUFRLENBQUMsVUFBVSxFQUFFO1FBQ2pCLEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRTtZQUMvQyxXQUFXLEdBQUcsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQy9DLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN2RCxDQUFDLENBQUMsQ0FBQTtRQUNGLEVBQUUsQ0FBQyxnREFBZ0QsRUFBRSxVQUFVLElBQUk7WUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNuQixRQUFRLENBQUMsbUJBQW1CLENBQUMsaURBQWlELEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQztpQkFDdEYsSUFBSSxD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