mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-27 07:50:47 +00:00
930cf6633c
fix: Additional vi.mock path corrections and prettier formatting
76 lines
2.1 KiB
TypeScript
76 lines
2.1 KiB
TypeScript
import { MetaCpanApiFileSearchResponse } from './schema.ts';
|
|
|
|
describe('modules/datasource/cpan/schema', () => {
|
|
describe('MetaCpanApiFileSearchResponse', () => {
|
|
it('filters out entries with empty module arrays', () => {
|
|
const response = {
|
|
hits: {
|
|
hits: [
|
|
{
|
|
_source: {
|
|
module: [],
|
|
distribution: 'Test-Package',
|
|
date: '2023-01-01T00:00:00',
|
|
deprecated: false,
|
|
maturity: 'released',
|
|
status: 'latest',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
};
|
|
const result = MetaCpanApiFileSearchResponse.parse(response);
|
|
expect(result).toEqual([]);
|
|
});
|
|
|
|
it('filters out entries where module has no version', () => {
|
|
const response = {
|
|
hits: {
|
|
hits: [
|
|
{
|
|
_source: {
|
|
module: [{ name: 'Test::Module', version: '' }],
|
|
distribution: 'Test-Package',
|
|
date: '2023-01-01T00:00:00',
|
|
deprecated: false,
|
|
maturity: 'released',
|
|
status: 'latest',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
};
|
|
const result = MetaCpanApiFileSearchResponse.parse(response);
|
|
expect(result).toEqual([]);
|
|
});
|
|
|
|
it('includes valid entries', () => {
|
|
const response = {
|
|
hits: {
|
|
hits: [
|
|
{
|
|
_source: {
|
|
module: [{ name: 'Test::Module', version: '1.0' }],
|
|
distribution: 'Test-Package',
|
|
date: '2023-01-01T00:00:00',
|
|
deprecated: false,
|
|
maturity: 'released',
|
|
status: 'latest',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
};
|
|
const result = MetaCpanApiFileSearchResponse.parse(response);
|
|
expect(result).toHaveLength(1);
|
|
expect(result[0]).toMatchObject({
|
|
version: '1.0',
|
|
distribution: 'Test-Package',
|
|
isDeprecated: false,
|
|
isStable: true,
|
|
isLatest: true,
|
|
});
|
|
});
|
|
});
|
|
});
|