diff --git a/src/ocean/Assets.ts b/src/ocean/Assets.ts index 172c3d23..9d2c8bcd 100644 --- a/src/ocean/Assets.ts +++ b/src/ocean/Assets.ts @@ -260,8 +260,11 @@ export class Assets extends Instantiable { if (newMetadata.description) ddo.service[i].attributes.additionalInformation.description = newMetadata.description - if (newMetadata.links) + if (newMetadata.links) { ddo.service[i].attributes.additionalInformation.links = newMetadata.links + } else { + ddo.service[i].attributes.additionalInformation.links = [] + } } return ddo } diff --git a/test/integration/Marketplaceflow.test.ts b/test/integration/Marketplaceflow.test.ts index 5b55cf6f..aea9c92c 100644 --- a/test/integration/Marketplaceflow.test.ts +++ b/test/integration/Marketplaceflow.test.ts @@ -252,6 +252,20 @@ describe('Marketplace flow', () => { assert(assets.results.length > 0) }) + it('Alice updates metadata and removes sample links', async () => { + const newMetaData: EditableMetadata = { + description: 'new description no links', + title: 'new title no links' + } + const newDdo = await ocean.assets.editMetadata(ddo, newMetaData) + assert(newDdo !== null) + const txid = await ocean.onChainMetadata.update(newDdo.id, newDdo, alice.getId()) + assert(txid !== null) + await sleep(60000) + const metaData = await ocean.assets.getServiceByType(ddo.id, 'metadata') + assert.deepEqual(metaData.attributes.additionalInformation.links, []) + }) + it('Alice updates metadata', async () => { const newMetaData: EditableMetadata = { description: 'new description',