Files
renovate/lib/modules/manager/travis/extract.spec.ts
Sebastian Poxhofer 2fc46bdcfa test(manager): replace file snapshots with explicit assertions (#45656)
* test(manager): replace file snapshots with explicit assertions

* test(manager): replace inline snapshots with explicit assertions

* test(manager): assert on relevant sections instead of full bodies

* test(manager): drop assertions implied by full equality

* test(manager): address review feedback

* test(manager): assert depType and versioning in the regex matcher
2026-09-04 06:36:39 +00:00

109 lines
3.0 KiB
TypeScript

import { Fixtures } from '~test/fixtures.ts';
import { extractPackageFile } from './index.ts';
const invalidYAML = Fixtures.get('invalid.yml');
const matrixYAMLwithNodeSyntaxString = Fixtures.get('matrix_jobs.yml');
const matrixYAMLwithNodeSyntaxArray = Fixtures.get('matrix_jobs_array.yml');
const matrixYAMLwithNodeSyntaxArray2 = Fixtures.get('matrix_jobs_array2.yml');
const matrixYAMLwithNodeSyntaxAlias = Fixtures.get('matrix_alias.yml');
const invalidMatrixYAML = Fixtures.get('matrix_invalid.yml');
describe('modules/manager/travis/extract', () => {
describe('extractPackageFile()', () => {
it('returns empty if fails to parse', () => {
const res = extractPackageFile('blahhhhh:foo:@what\n');
expect(res).toBeNull();
});
it('returns results', () => {
const res = extractPackageFile('node_js:\n - 6\n - 8\n');
expect(res).toEqual({
deps: [
{
currentValue: '6',
datasource: 'node-version',
depName: 'node',
},
{
currentValue: '8',
datasource: 'node-version',
depName: 'node',
},
],
});
});
it('should handle invalid YAML', () => {
const res = extractPackageFile(invalidYAML);
expect(res).toBeNull();
});
it('handles matrix node_js syntax with node_js string', () => {
const res = extractPackageFile(matrixYAMLwithNodeSyntaxString);
expect(res).toEqual({
deps: [
{
currentValue: '11.10.1',
datasource: 'node-version',
depName: 'node',
},
],
});
});
it('handles matrix node_js syntax with node_js array', () => {
const res = extractPackageFile(matrixYAMLwithNodeSyntaxArray);
expect(res).toEqual({
deps: [
{
currentValue: '11.10.1',
datasource: 'node-version',
depName: 'node',
},
{
currentValue: '11.10.2',
datasource: 'node-version',
depName: 'node',
},
],
});
});
it('handles matrix node_js syntax with node_js array 2', () => {
const res = extractPackageFile(matrixYAMLwithNodeSyntaxArray2);
expect(res).toEqual({
deps: [
{
currentValue: '11.10.1',
datasource: 'node-version',
depName: 'node',
},
{
currentValue: '11.10.2',
datasource: 'node-version',
depName: 'node',
},
],
});
});
it('handles matrix node_js syntax with alias', () => {
const res = extractPackageFile(matrixYAMLwithNodeSyntaxAlias);
expect(res).toEqual({
deps: [
{
currentValue: '11.10.1',
datasource: 'node-version',
depName: 'node',
},
],
});
});
it('handles invalid matrix node_js syntax', () => {
const res = extractPackageFile(invalidMatrixYAML);
expect(res).toBeNull();
});
});
});