setup-go/__tests__/gobin.test.ts
francisco souza 25c870be4d
Add $GOBIN
- Set $GOBIN to $(go env GOPATH)/bin
- Add $GOBIN to the PATH

Should make the setup of tools like golangci-lint or golint work with a
simple `go get`.

Using $GOBIN instead of $GOPATH/bin because the goal is to have GOPATH
not being directly referenced. Also, in the future, GOBIN will have a
default value too, so we would not need to manually set it, just add it
to the path (see discussion in golang/go#23439).

Closes #14.
2020-03-01 21:18:28 -05:00

21 lines
539 B
TypeScript

import * as gobin from '../src/gobin';
jest.mock('child_process');
describe('gobin', () => {
const childProcess = require('child_process');
let execSpy: jest.SpyInstance;
beforeEach(() => {
execSpy = jest.spyOn(childProcess, 'exec');
execSpy.mockImplementation((_command, callback) => {
callback('', {stdout: '/home/user/go', stderr: ''});
});
});
it('should return ${GOPATH}/bin', async () => {
const gobinPath = await gobin.getGOBIN('...');
expect(gobinPath).toBe('/home/user/go/bin');
});
});