diff --git a/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/extend-data-source-paged-response-data.test.ts b/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/extend-data-source-paged-response-data.test.ts new file mode 100644 index 0000000000..204b764ba5 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/extend-data-source-paged-response-data.test.ts @@ -0,0 +1,34 @@ +import { expect } from '@open-wc/testing'; +import { type UmbPagedData } from '../tree-repository.interface.js'; +import { type DataSourceResponse } from './data-source-response.interface.js'; +import { extendDataSourcePagedResponseData } from './extend-data-source-paged-response-data.function.js'; + +describe('extendDataSourcePagedResponseData', () => { + it('is a function', () => { + expect(extendDataSourcePagedResponseData).that.is.a('function'); + }); + + describe('Extending data set', () => { + it('has an controllerAlias property', () => { + const response: DataSourceResponse> = { + data: { + items: [ + { + original: 'prop', + }, + { + original: 'prop', + }, + ], + total: 2, + }, + }; + + const extendedResponse = extendDataSourcePagedResponseData(response, { foo: 'bar' }); + + expect(extendedResponse.data).that.is.a('object'); + expect(extendedResponse.data?.items[1]).to.have.property('original').to.be.equal('prop'); + expect(extendedResponse.data?.items[1]).to.have.property('foo').to.be.equal('bar'); + }); + }); +}); diff --git a/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/extend-data-source-response-data.test.ts b/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/extend-data-source-response-data.test.ts new file mode 100644 index 0000000000..ac23e7782e --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/extend-data-source-response-data.test.ts @@ -0,0 +1,24 @@ +import { expect } from '@open-wc/testing'; +import { extendDataSourceResponseData } from './extend-data-source-response-data.function.js'; +import { DataSourceResponse } from './data-source-response.interface.js'; + +describe('extendDataSourceResponseData', () => { + it('is a function', () => { + expect(extendDataSourceResponseData).that.is.a('function'); + }); + + describe('Extending data set', () => { + it('has extended data of DataSourceResponse', () => { + const response: DataSourceResponse = { + data: { + original: 'prop', + }, + }; + + const extendedResponse = extendDataSourceResponseData(response, { foo: 'bar' }); + + expect(extendedResponse.data).to.have.property('original').to.be.equal('prop'); + expect(extendedResponse.data).to.have.property('foo').to.be.equal('bar'); + }); + }); +});