refactor: Use early return pattern to avoid nested conditions (#302)

pull/306/merge^2
Jongwoo Han 2 years ago committed by GitHub
parent 6edd4406fa
commit bb5ff97ab9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -162,7 +162,7 @@ describe('isCacheFeatureAvailable', () => {
expect(functionResult).toBeFalsy(); expect(functionResult).toBeFalsy();
}); });
it('should throw when cache feature is unavailable and GHES is used', () => { it('should warn when cache feature is unavailable and GHES is used', () => {
//Arrange //Arrange
isFeatureAvailableSpy.mockImplementation(() => { isFeatureAvailableSpy.mockImplementation(() => {
return false; return false;
@ -170,10 +170,11 @@ describe('isCacheFeatureAvailable', () => {
process.env['GITHUB_SERVER_URL'] = 'https://nongithub.com'; process.env['GITHUB_SERVER_URL'] = 'https://nongithub.com';
let errorMessage = let warningMessage =
'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'; 'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.';
//Act + Assert //Act + Assert
expect(() => cacheUtils.isCacheFeatureAvailable()).toThrow(errorMessage); expect(cacheUtils.isCacheFeatureAvailable()).toBeFalsy();
expect(warningSpy).toHaveBeenCalledWith(warningMessage);
}); });
}); });

@ -60471,17 +60471,16 @@ function isGhes() {
} }
exports.isGhes = isGhes; exports.isGhes = isGhes;
function isCacheFeatureAvailable() { function isCacheFeatureAvailable() {
if (!cache.isFeatureAvailable()) { if (cache.isFeatureAvailable()) {
return true;
}
if (isGhes()) { if (isGhes()) {
throw new Error('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'); core.warning('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.');
return false;
} }
else {
core.warning('The runner was not able to contact the cache service. Caching will be skipped'); core.warning('The runner was not able to contact the cache service. Caching will be skipped');
}
return false; return false;
} }
return true;
}
exports.isCacheFeatureAvailable = isCacheFeatureAvailable; exports.isCacheFeatureAvailable = isCacheFeatureAvailable;

@ -63144,17 +63144,16 @@ function isGhes() {
} }
exports.isGhes = isGhes; exports.isGhes = isGhes;
function isCacheFeatureAvailable() { function isCacheFeatureAvailable() {
if (!cache.isFeatureAvailable()) { if (cache.isFeatureAvailable()) {
return true;
}
if (isGhes()) { if (isGhes()) {
throw new Error('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'); core.warning('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.');
return false;
} }
else {
core.warning('The runner was not able to contact the cache service. Caching will be skipped'); core.warning('The runner was not able to contact the cache service. Caching will be skipped');
}
return false; return false;
} }
return true;
}
exports.isCacheFeatureAvailable = isCacheFeatureAvailable; exports.isCacheFeatureAvailable = isCacheFeatureAvailable;

@ -57,19 +57,19 @@ export function isGhes(): boolean {
} }
export function isCacheFeatureAvailable(): boolean { export function isCacheFeatureAvailable(): boolean {
if (!cache.isFeatureAvailable()) { if (cache.isFeatureAvailable()) {
return true;
}
if (isGhes()) { if (isGhes()) {
throw new Error( core.warning(
'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.' 'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'
); );
} else { return false;
}
core.warning( core.warning(
'The runner was not able to contact the cache service. Caching will be skipped' 'The runner was not able to contact the cache service. Caching will be skipped'
); );
}
return false; return false;
} }
return true;
}

Loading…
Cancel
Save