UNPKG

apisurf

Version:

Analyze API surface changes between npm package versions to catch breaking changes

43 lines (42 loc) 1.83 kB
import { describe, it, expect } from '@jest/globals'; import { formatValidationOutput } from './formatValidationOutput.js'; describe('formatValidationOutput', () => { it('formatValidationOutput returns success message when no violations', () => { const result = { hasViolations: false, violations: [], summary: 'No semver violations detected' }; const output = formatValidationOutput(result, 'console'); expect(output).toBe('✅ No semver violations detected in dependencies'); }); it('formatValidationOutput returns JSON when format is json', () => { const result = { hasViolations: false, violations: [], summary: 'No semver violations detected' }; const output = formatValidationOutput(result, 'json'); const parsed = JSON.parse(output); expect(parsed.hasViolations).toBe(false); expect(parsed.summary).toBe('No semver violations detected'); }); it('formatValidationOutput shows violations when detected', () => { const result = { hasViolations: true, violations: [{ packageName: 'test-package', oldVersion: '1.0.0', newVersion: '1.1.0', violationType: 'major-in-minor', breakingChanges: ['Removed function: oldApi'] }], summary: 'Semver violations detected' }; const output = formatValidationOutput(result, 'console'); expect(output).toMatch(/❌ Semver violations detected/); expect(output).toMatch(/test-package: 1\.0\.0 → 1\.1\.0/); expect(output).toMatch(/major-in-minor/); expect(output).toMatch(/Removed function: oldApi/); }); });