import path = require('path'); const env = process.env; describe('util tests', () => { beforeEach(() => { const tempEnv = Object.assign({}, env); delete tempEnv.RUNNER_TEMP; delete tempEnv.USERPROFILE; process.env = tempEnv; Object.defineProperty(process, 'platform', {value: 'linux'}); }); describe('getTempDir', () => { it('gets temp dir using env', () => { process.env['RUNNER_TEMP'] = 'defaulttmp'; const util = require('../src/util'); const tempDir = util.getTempDir(); expect(tempDir).toEqual(process.env['RUNNER_TEMP']); }); it('gets temp dir for windows using userprofile', () => { Object.defineProperty(process, 'platform', {value: 'win32'}); process.env['USERPROFILE'] = 'winusertmp'; const util = require('../src/util'); const tempDir = util.getTempDir(); expect(tempDir).toEqual( path.join(process.env['USERPROFILE'], 'actions', 'temp') ); }); it('gets temp dir for windows using c drive', () => { Object.defineProperty(process, 'platform', {value: 'win32'}); const util = require('../src/util'); const tempDir = util.getTempDir(); expect(tempDir).toEqual(path.join('C:\\', 'actions', 'temp')); }); it('gets temp dir for mac', () => { Object.defineProperty(process, 'platform', {value: 'darwin'}); const util = require('../src/util'); const tempDir = util.getTempDir(); expect(tempDir).toEqual(path.join('/Users', 'actions', 'temp')); }); it('gets temp dir for linux', () => { const util = require('../src/util'); const tempDir = util.getTempDir(); expect(tempDir).toEqual(path.join('/home', 'actions', 'temp')); }); }); });