mirror of
https://github.com/fluxscape/fluxscape.git
synced 2026-01-12 15:22:54 +01:00
Co-Authored-By: Eric Tuvesson <eric.tuvesson@gmail.com> Co-Authored-By: mikaeltellhed <2311083+mikaeltellhed@users.noreply.github.com> Co-Authored-By: kotte <14197736+mrtamagotchi@users.noreply.github.com> Co-Authored-By: Anders Larsson <64838990+anders-topp@users.noreply.github.com> Co-Authored-By: Johan <4934465+joolsus@users.noreply.github.com> Co-Authored-By: Tore Knudsen <18231882+torekndsn@users.noreply.github.com> Co-Authored-By: victoratndl <99176179+victoratndl@users.noreply.github.com>
77 lines
1.7 KiB
TypeScript
77 lines
1.7 KiB
TypeScript
import { app } from '@electron/remote';
|
|
import { Git } from '@noodl/git';
|
|
|
|
import FileSystem from '@noodl-utils/filesystem';
|
|
import { mergeProject } from '@noodl-utils/projectmerger';
|
|
import Utils from '@noodl-utils/utils';
|
|
|
|
describe('Git status tests', function () {
|
|
let git: Git;
|
|
let tempDir: string | undefined;
|
|
|
|
beforeEach(async function () {
|
|
tempDir = app.getPath('temp') + '/noodlunittests-git-' + Utils.guid() + '/';
|
|
FileSystem.instance.makeDirectorySync(tempDir);
|
|
|
|
git = new Git(mergeProject);
|
|
await git.initNewRepo(tempDir);
|
|
});
|
|
|
|
afterEach(function (done) {
|
|
FileSystem.instance.removeDirectoryRecursive(tempDir, done);
|
|
tempDir = undefined;
|
|
});
|
|
|
|
it('create file', async function () {
|
|
FileSystem.instance.writeFileSync(tempDir + 'file.txt', 'text');
|
|
const status = await git.status();
|
|
|
|
expect(status).toEqual([
|
|
{
|
|
status: 'new',
|
|
path: '.gitattributes'
|
|
},
|
|
{
|
|
status: 'new',
|
|
path: '.gitignore'
|
|
},
|
|
{
|
|
status: 'new',
|
|
path: 'file.txt'
|
|
}
|
|
]);
|
|
});
|
|
|
|
it('create file, commit and update file', async function () {
|
|
FileSystem.instance.writeFileSync(tempDir + 'file.txt', 'text');
|
|
|
|
const status1 = await git.status();
|
|
expect(status1).toEqual([
|
|
{
|
|
status: 'new',
|
|
path: '.gitattributes'
|
|
},
|
|
{
|
|
status: 'new',
|
|
path: '.gitignore'
|
|
},
|
|
{
|
|
status: 'new',
|
|
path: 'file.txt'
|
|
}
|
|
]);
|
|
|
|
await git.commit('add file.txt');
|
|
|
|
FileSystem.instance.writeFileSync(tempDir + 'file.txt', 'text2');
|
|
|
|
const status2 = await git.status();
|
|
expect(status2).toEqual([
|
|
{
|
|
status: 'modified',
|
|
path: 'file.txt'
|
|
}
|
|
]);
|
|
});
|
|
});
|