@@ -17,6 +17,7 @@ vi.mock('contentful-resolve-response', () => {
1717
1818// Import the mocked function for use in tests
1919import resolveResponse from 'contentful-resolve-response' ;
20+ import { ExternalResourceField } from '../../src/fields/ExternalResourceField' ;
2021
2122describe ( 'FieldsFactory' , ( ) => {
2223 const mockCma = {
@@ -475,6 +476,34 @@ describe('FieldsFactory', () => {
475476 'English Title'
476477 ) ;
477478 } ) ;
479+
480+ it ( 'should create an ExternalResourceField instance with correct properties' , async ( ) => {
481+ const mockEntry = [
482+ {
483+ fields : {
484+ externalReference : {
485+ sys : { type : 'ResourceLink' , linkType : 'Contentful:Entry' , urn : 'an-id' } ,
486+ } ,
487+ } ,
488+ } ,
489+ ] ;
490+ ( resolveResponse as any ) . mockReturnValue ( mockEntry ) ;
491+
492+ mockCma . contentType . get . mockResolvedValue ( {
493+ fields : [ { id : 'externalReference' , type : 'ResourceLink' , localized : false } ] ,
494+ sys : {
495+ id : 'externalArticle' ,
496+ } ,
497+ } ) ;
498+
499+ const result = await createFields ( entryId , entryContentTypeId , mockCma ) ;
500+ expect ( result ) . toHaveLength ( 1 ) ;
501+ expect ( result [ 0 ] ) . toBeInstanceOf ( ExternalResourceField ) ;
502+ const fieldInstance = result [ 0 ] as ExternalResourceField ;
503+ expect ( fieldInstance . id ) . toBe ( 'externalReference' ) ;
504+ expect ( fieldInstance . entryContentTypeId ) . toBe ( 'externalArticle' ) ;
505+ expect ( fieldInstance . localized ) . toBe ( false ) ;
506+ } ) ;
478507 } ) ;
479508} ) ;
480509
0 commit comments