1
0
Fork 0
mirror of https://code.forgejo.org/actions/setup-node synced 2025-06-14 07:44:11 +02:00
This commit is contained in:
Steve Lacey 2023-09-28 01:03:59 +08:00 committed by GitHub
commit a923e57f2d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 82 additions and 14 deletions

View file

@ -155,14 +155,6 @@ describe('main tests', () => {
expect(parseNodeVersionSpy).toHaveBeenCalledTimes(0);
}, 10000);
it('not used if node-version-file not provided', async () => {
// Act
await main.run();
// Assert
expect(parseNodeVersionSpy).toHaveBeenCalledTimes(0);
});
it('reads node-version-file if provided', async () => {
// Arrange
const versionSpec = 'v14';
@ -215,6 +207,53 @@ describe('main tests', () => {
);
}, 10000);
it('reads .node-version if node-version and node-version-file were not provided', async () => {
// Arrange
const versionSpec = 'v16';
const versionFile = '.node-version';
const expectedVersionSpec = '16';
process.env['GITHUB_WORKSPACE'] = path.join(__dirname, 'data');
parseNodeVersionSpy.mockImplementation(() => expectedVersionSpec);
existsSpy.mockImplementationOnce(
input => input === path.join(__dirname, 'data', versionFile)
);
// Act
await main.run();
// Assert
expect(existsSpy).toHaveBeenCalledTimes(1);
expect(existsSpy).toHaveReturnedWith(true);
expect(parseNodeVersionSpy).toHaveBeenCalledWith(versionSpec);
expect(infoSpy).toHaveBeenCalledWith(
`Resolved ${versionFile} as ${expectedVersionSpec}`
);
}, 10000);
it('reads .nvmrc if node-version and node-version-file were not provided', async () => {
// Arrange
const versionSpec = 'v14';
const versionFile = '.nvmrc';
const expectedVersionSpec = '14';
process.env['GITHUB_WORKSPACE'] = path.join(__dirname, 'data');
parseNodeVersionSpy.mockImplementation(() => expectedVersionSpec);
existsSpy.mockImplementation(
input => input === path.join(__dirname, 'data', versionFile)
);
// Act
await main.run();
// Assert
expect(existsSpy).toHaveBeenCalledTimes(2);
expect(parseNodeVersionSpy).toHaveBeenCalledWith(versionSpec);
expect(infoSpy).toHaveBeenCalledWith(
`Resolved ${versionFile} as ${expectedVersionSpec}`
);
}, 10000);
it('both node-version-file and node-version are provided', async () => {
inputs['node-version'] = '12';
const versionSpec = 'v14';