Skip to content

Share test utilities #843

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Aug 13, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/heavy-pumpkins-work.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@simple-git/test-utils': major
'simple-git': patch
---

Use shared test utilities bundle in simple-git tests, to enable consistent testing across packages in the future
9 changes: 9 additions & 0 deletions packages/test-utils/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export * from './src/create-test-context';
export * from './src/expectations';
export * from './src/instance';
export * from './src/like';
export * from './src/wait';

export * from './src/setup/setup-conflicted';
export * from './src/setup/setup-files';
export * from './src/setup/setup-init';
8 changes: 8 additions & 0 deletions packages/test-utils/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"name": "@simple-git/test-utils",
"version": "0.0.0",
"private": true,
"peerDependencies": {
"simple-git": "^3.12.0"
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { join } from 'path';
import { existsSync, mkdir, mkdtemp, realpathSync, writeFile, WriteFileOptions } from 'fs';
import { SimpleGit } from '../../typings';
import { newSimpleGit } from './instance';
import { simpleGit, SimpleGit } from 'simple-git';

export interface SimpleGitTestContext {
/** Creates a directory under the repo root at the given path(s) */
Expand Down Expand Up @@ -85,7 +84,7 @@ export async function createTestContext(): Promise<SimpleGitTestContext> {
return realpathSync(context.root);
},
get git() {
return newSimpleGit(root);
return simpleGit(root);
},
};

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { GitError } from '../../src/lib/errors/git-error';
import { GitResponseError } from '../../src/lib/errors/git-response-error';
import { GitError, GitResponseError } from "simple-git";

/**
* Convenience for asserting the type and message of a `GitError`
Expand All @@ -15,12 +14,8 @@ import { GitResponseError } from '../../src/lib/errors/git-response-error';
export function assertGitError(
errorInstance: Error | unknown,
message: string | RegExp,
errorConstructor?: any
errorConstructor: any = GitError
) {
if (!errorConstructor) {
errorConstructor = GitError;
}

expect(errorInstance).toBeInstanceOf(errorConstructor);
expect(errorInstance).toHaveProperty('message', expect.stringMatching(message));
}
Expand Down
3 changes: 3 additions & 0 deletions packages/test-utils/src/instance.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { simpleGit as newSimpleGit } from 'simple-git';

export { newSimpleGit };
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { SimpleGitTestContext } from './create-test-context';
import { SimpleGitTestContext } from '../create-test-context';

export const FIRST_BRANCH = 'first';
export const SECOND_BRANCH = 'second';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { SimpleGitTestContext } from './create-test-context';
import { SimpleGitTestContext } from '../create-test-context';

export async function setUpFilesAdded(
{ git, files }: SimpleGitTestContext,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { SimpleGit } from '../../typings';
import { SimpleGitTestContext } from './create-test-context';
import { SimpleGit } from 'simple-git';
import { SimpleGitTestContext } from '../create-test-context';

export const GIT_USER_NAME = 'Simple Git Tests';
export const GIT_USER_EMAIL = '[email protected]';
Expand Down
File renamed without changes.
1 change: 1 addition & 0 deletions simple-git/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"devDependencies": {
"@kwsites/promise-result": "^1.1.0",
"@simple-git/babel-config": "^1.0.0",
"@simple-git/test-utils": "^0.0.0",
"@types/debug": "^4.1.5",
"@types/jest": "^27.0.3",
"@types/node": "^14.14.10",
Expand Down
9 changes: 0 additions & 9 deletions simple-git/test/__fixtures__/index.ts

This file was deleted.

6 changes: 0 additions & 6 deletions simple-git/test/__fixtures__/instance.ts

This file was deleted.

2 changes: 1 addition & 1 deletion simple-git/test/integration/add.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
newSimpleGit,
setUpInit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

describe('add', () => {
let context: SimpleGitTestContext;
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/bad-initial-path.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
like,
newSimpleGit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

import { GitConstructError } from '../..';

Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/branches.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
newSimpleGit,
setUpInit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

describe('branches', () => {
let context: SimpleGitTestContext;
Expand Down
11 changes: 3 additions & 8 deletions simple-git/test/integration/broken-chains.spec.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
import { isPromiseFailure, promiseError, promiseResult } from '@kwsites/promise-result';
import {
assertGitError,
createTestContext,
newSimpleGit,
SimpleGitTestContext,
} from '../__fixtures__';
import { SimpleGit } from '../../typings';
import { isPromiseFailure, promiseError, promiseResult } from "@kwsites/promise-result";
import { assertGitError, createTestContext, newSimpleGit, SimpleGitTestContext } from "@simple-git/test-utils";
import { SimpleGit } from "../../typings";

/*
The broken chains test assures the behaviour of both standard and Promise wrapped versions
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/change-directory.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
newSimpleGit,
SimpleGitTestContext,
wait,
} from '../__fixtures__';
} from '@simple-git/test-utils';
import { SimpleGit } from '../../typings';

describe('change-directory', () => {
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/check-is-repo.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {
createTestContext,
newSimpleGit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

import { CheckRepoActions } from '../../src/lib/tasks/check-is-repo';

Expand Down
7 changes: 6 additions & 1 deletion simple-git/test/integration/checkout.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
import { createTestContext, newSimpleGit, setUpInit, SimpleGitTestContext } from '../__fixtures__';
import {
createTestContext,
newSimpleGit,
setUpInit,
SimpleGitTestContext,
} from '@simple-git/test-utils';
import { SimpleGit } from '../../typings';
import { promiseError } from '@kwsites/promise-result';

Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/clean.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
setUpFilesAdded,
setUpInit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

import { CleanOptions } from '../../src/lib/tasks/clean';

Expand Down
7 changes: 6 additions & 1 deletion simple-git/test/integration/commit.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
import { createTestContext, newSimpleGit, setUpInit, SimpleGitTestContext } from '../__fixtures__';
import {
createTestContext,
newSimpleGit,
setUpInit,
SimpleGitTestContext,
} from '@simple-git/test-utils';

describe('commit', () => {
let context: SimpleGitTestContext;
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/completion-plugin.spec.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { promiseError } from '@kwsites/promise-result';
import { createTestContext, newSimpleGit, SimpleGitTestContext } from '../__fixtures__';
import { createTestContext, newSimpleGit, SimpleGitTestContext } from '@simple-git/test-utils';

describe('progress-monitor', () => {
let context: SimpleGitTestContext;
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/concurrent-commands.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
setUpFilesAdded,
setUpInit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

describe('concurrent commands', () => {
let contexts: { first: SimpleGitTestContext; second: SimpleGitTestContext };
Expand Down
7 changes: 6 additions & 1 deletion simple-git/test/integration/config.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
import { createTestContext, newSimpleGit, setUpInit, SimpleGitTestContext } from '../__fixtures__';
import {
createTestContext,
newSimpleGit,
setUpInit,
SimpleGitTestContext,
} from '@simple-git/test-utils';
import { GitConfigScope } from '../..';
import { SimpleGit } from '../../typings';

Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/diff.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
setUpFilesAdded,
setUpInit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

describe('diff', function () {
const nameWithTrailingSpaces = 'name-with-trailing-spaces ';
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/exec.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createTestContext, newSimpleGit, SimpleGitTestContext } from '../__fixtures__';
import { createTestContext, newSimpleGit, SimpleGitTestContext } from '@simple-git/test-utils';

describe('exec', () => {
let context: SimpleGitTestContext;
Expand Down
8 changes: 7 additions & 1 deletion simple-git/test/integration/fetch.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
import { createTestContext, newSimpleGit, setUpInit, SimpleGitTestContext } from '../__fixtures__';
import {
createTestContext,
newSimpleGit,
setUpInit,
SimpleGitTestContext,
} from '@simple-git/test-utils';

describe('fetch', () => {
let context: SimpleGitTestContext;
Expand Down Expand Up @@ -70,6 +75,7 @@ describe('fetch', () => {
await git.raw('checkout', '-b', 'bravo');
await git.raw('checkout', '-b', 'charlie');
}

/**
* Configure the remote with changes to be retrieved when using fetch on the local
*/
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/grep.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createTestContext, newSimpleGit, SimpleGitTestContext } from '../__fixtures__';
import { createTestContext, newSimpleGit, SimpleGitTestContext } from '@simple-git/test-utils';
import { grepQueryBuilder } from '../..';

describe('grep', () => {
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/log.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
setUpFilesAdded,
setUpInit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';
import type { DiffResultTextFile } from '../../typings';

describe('log', () => {
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/merge-integration.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
setUpConflicted,
setUpInit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

describe('merge', () => {
let context: SimpleGitTestContext;
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/progress-plugin.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createTestContext, newSimpleGit, SimpleGitTestContext } from '../__fixtures__';
import { createTestContext, newSimpleGit, SimpleGitTestContext } from '@simple-git/test-utils';
import { SimpleGitOptions } from '../../src/lib/types';

describe('progress-monitor', () => {
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/promise-from-root.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createTestContext, newSimpleGit, SimpleGitTestContext } from '../__fixtures__';
import { createTestContext, newSimpleGit, SimpleGitTestContext } from '@simple-git/test-utils';

describe('promises-from-root', () => {
let context: SimpleGitTestContext;
Expand Down
7 changes: 6 additions & 1 deletion simple-git/test/integration/promise.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
import { createTestContext, newSimpleGit, setUpInit, SimpleGitTestContext } from '../__fixtures__';
import {
createTestContext,
newSimpleGit,
setUpInit,
SimpleGitTestContext,
} from '@simple-git/test-utils';

import { InitSummary } from '../../src/lib/responses/InitSummary';
import { StatusSummary } from '../../src/lib/responses/StatusSummary';
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/pull-fails-ff.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
newSimpleGit,
setUpInit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

describe('pull --ff-only', () => {
let context: SimpleGitTestContext;
Expand Down
7 changes: 6 additions & 1 deletion simple-git/test/integration/remote.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
import { createTestContext, newSimpleGit, setUpInit, SimpleGitTestContext } from '../__fixtures__';
import {
createTestContext,
newSimpleGit,
setUpInit,
SimpleGitTestContext,
} from '@simple-git/test-utils';

describe('remote', () => {
let context: SimpleGitTestContext;
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/reset.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
setUpFilesAdded,
setUpInit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

import { ResetMode } from '../../src/lib/tasks/reset';

Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/rev-parse.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
setUpFilesAdded,
setUpInit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

describe('rev-parse', () => {
let context: SimpleGitTestContext;
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/status.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
setUpFilesAdded,
setUpInit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

describe('status', () => {
let context: SimpleGitTestContext;
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/tag.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
setUpFilesAdded,
setUpInit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

describe('tag', () => {
let context: SimpleGitTestContext;
Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/integration/timeout-plugin.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
createTestContext,
newSimpleGit,
SimpleGitTestContext,
} from '../__fixtures__';
} from '@simple-git/test-utils';

import { GitPluginError } from '../..';

Expand Down
2 changes: 1 addition & 1 deletion simple-git/test/unit/__fixtures__/child-processes.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { MockChildProcess, mockChildProcessModule } from '../__mocks__/mock-child-process';
import { wait } from '../../__fixtures__';
import { wait } from '@simple-git/test-utils';

const EXIT_CODE_SUCCESS = 0;
const EXIT_CODE_ERROR = 1;
Expand Down
5 changes: 1 addition & 4 deletions simple-git/test/unit/__fixtures__/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,4 @@ export * from './responses/merge';
export * from './responses/remote-messages';
export * from './responses/status';

export * from '../../__fixtures__/expectations';
export * from '../../__fixtures__/instance';
export * from '../../__fixtures__/like';
export * from '../../__fixtures__/wait';
export * from '@simple-git/test-utils';
Loading