diff --git a/src/modules/cards/infrastructure/CompositeMetadataService.ts b/src/modules/cards/infrastructure/CompositeMetadataService.ts index 151f1983..40875f51 100644 --- a/src/modules/cards/infrastructure/CompositeMetadataService.ts +++ b/src/modules/cards/infrastructure/CompositeMetadataService.ts @@ -169,7 +169,7 @@ export class CompositeMetadataService implements IMetadataService { */ private applyUrlClassification(metadata: UrlMetadata, url: URL): UrlMetadata { const classifiedType = UrlClassifier.classifyUrl(url.value); - + if (classifiedType) { // Override the type with the classified type const updatedProps = { diff --git a/src/modules/cards/tests/infrastructure/UrlClassifier.unit.test.ts b/src/modules/cards/tests/infrastructure/UrlClassifier.test.ts similarity index 84% rename from src/modules/cards/tests/infrastructure/UrlClassifier.unit.test.ts rename to src/modules/cards/tests/infrastructure/UrlClassifier.test.ts index d626b5a3..2bbb3549 100644 --- a/src/modules/cards/tests/infrastructure/UrlClassifier.unit.test.ts +++ b/src/modules/cards/tests/infrastructure/UrlClassifier.test.ts @@ -10,19 +10,22 @@ describe('UrlClassifier Unit Tests', () => { }); it('should classify Blacksky community post URL as SOCIAL', () => { - const url = 'https://blacksky.community/profile/did:plc:aax2d4gyu4vmlccwdtgci474/post/3mbur3zuius2o'; + const url = + 'https://blacksky.community/profile/did:plc:aax2d4gyu4vmlccwdtgci474/post/3mbur3zuius2o'; const result = UrlClassifier.classifyUrl(url); expect(result).toBe(UrlType.SOCIAL); }); it('should classify Deer social post URL as SOCIAL', () => { - const url = 'https://deer.social/profile/did:plc:25j5r47em2gmbiypflegz6bk/post/3mbsjeqolzs2y'; + const url = + 'https://deer.social/profile/did:plc:25j5r47em2gmbiypflegz6bk/post/3mbsjeqolzs2y'; const result = UrlClassifier.classifyUrl(url); expect(result).toBe(UrlType.SOCIAL); }); it('should classify Smokesignal event URL as EVENT', () => { - const url = 'https://smokesignal.events/did:plc:2zmxikig2sj7gqaezl5gntae/3m7542ymkcu2j'; + const url = + 'https://smokesignal.events/did:plc:2zmxikig2sj7gqaezl5gntae/3m7542ymkcu2j'; const result = UrlClassifier.classifyUrl(url); expect(result).toBe(UrlType.EVENT); }); @@ -43,10 +46,10 @@ describe('UrlClassifier Unit Tests', () => { describe('pattern matching validation', () => { it('should have all expected patterns configured', () => { const patterns = UrlClassifier.getPatterns(); - + // Check that we have patterns for the expected services - const descriptions = patterns.map(p => p.description); - + const descriptions = patterns.map((p) => p.description); + expect(descriptions).toContain('Bluesky post'); expect(descriptions).toContain('Blacksky community post'); expect(descriptions).toContain('Deer social post'); @@ -62,7 +65,7 @@ describe('UrlClassifier Unit Tests', () => { 'https://random-site.org/content', ]; - unmatchedUrls.forEach(url => { + unmatchedUrls.forEach((url) => { expect(UrlClassifier.classifyUrl(url)).toBeNull(); }); });