diff --git a/src/protagonist/DLCS.Repository.Tests/Assets/AssetApplicationMetadataRepositoryTests.cs b/src/protagonist/DLCS.Repository.Tests/Assets/AssetApplicationMetadataRepositoryTests.cs index b0823f3ac..d3073e4ed 100644 --- a/src/protagonist/DLCS.Repository.Tests/Assets/AssetApplicationMetadataRepositoryTests.cs +++ b/src/protagonist/DLCS.Repository.Tests/Assets/AssetApplicationMetadataRepositoryTests.cs @@ -13,11 +13,17 @@ public class AssetApplicationMetadataRepositoryTests { private readonly DlcsContext dbContext; private readonly AssetApplicationMetadataRepository sut; + private readonly DlcsContext contextForTests; public AssetApplicationMetadataRepositoryTests(DlcsDatabaseFixture dbFixture) { dbContext = dbFixture.DbContext; - sut = new AssetApplicationMetadataRepository(dbFixture.DbContext); + + var optionsBuilder = new DbContextOptionsBuilder(); + optionsBuilder.UseNpgsql(dbFixture.ConnectionString); + contextForTests = new DlcsContext(optionsBuilder.Options); + + sut = new AssetApplicationMetadataRepository(contextForTests); dbFixture.CleanUp(); dbContext.Images.AddTestAsset(AssetId.FromString("99/1/1"), ref1: "foobar"); @@ -56,7 +62,7 @@ public async Task UpsertApplicationMetadata_UpdatesMetadata_WhenCalledWithUpdate // Act var metadata = await sut.UpsertApplicationMetadata(assetId, AssetApplicationMetadataTypes.ThumbSizes, newMetadataValue); - var metaDataFromDatabase = await dbContext.AssetApplicationMetadata.FirstAsync(x => + var metaDataFromDatabase = await contextForTests.AssetApplicationMetadata.FirstAsync(x => x.AssetId == assetId && x.MetadataType == AssetApplicationMetadataTypes.ThumbSizes); // Assert diff --git a/src/protagonist/DLCS.Repository/Assets/AssetApplicationMetadataRepository.cs b/src/protagonist/DLCS.Repository/Assets/AssetApplicationMetadataRepository.cs index a58232491..bce3d1296 100644 --- a/src/protagonist/DLCS.Repository/Assets/AssetApplicationMetadataRepository.cs +++ b/src/protagonist/DLCS.Repository/Assets/AssetApplicationMetadataRepository.cs @@ -26,21 +26,22 @@ public AssetApplicationMetadataRepository(DlcsContext dlcsContext) { addedMetadata.MetadataValue = metadataValue; addedMetadata.Modified = DateTime.UtcNow; - await dlcsContext.AssetApplicationMetadata.SingleUpdateAsync(addedMetadata, cancellationToken); await dlcsContext.SaveChangesAsync(cancellationToken); return addedMetadata; } - - var databaseMetadata= await dlcsContext.AssetApplicationMetadata.AddAsync(new AssetApplicationMetadata() + + var assetApplicationMetadata = new AssetApplicationMetadata() { AssetId = assetId, MetadataType = metadataType, MetadataValue = metadataValue, Created = DateTime.UtcNow, Modified = DateTime.UtcNow - }, cancellationToken); + }; + + await dlcsContext.AssetApplicationMetadata.AddAsync(assetApplicationMetadata, cancellationToken); await dlcsContext.SaveChangesAsync(cancellationToken); - return databaseMetadata.Entity; + return assetApplicationMetadata; } } \ No newline at end of file