public async Task GivenANonExistingResourceToDeleteRequest_WhenHandled_ThenTheResponseShouldHaveANullWeakETag(bool hardDelete) { var repository = Substitute.For <IFhirRepository>(); var handler = new DeleteResourceHandler(repository); var resourceId = Guid.NewGuid().ToString(); var deletedResourceKey = new ResourceKey("Observation", resourceId); repository.DeleteAsync(Arg.Any <ResourceKey>(), hardDelete).Returns(deletedResourceKey); DeleteResourceResponse response = await handler.Handle( new DeleteResourceRequest("Observation", resourceId, hardDelete), CancellationToken.None); await repository.Received().DeleteAsync(Arg.Any <ResourceKey>(), hardDelete); Assert.Null(response.WeakETag); }
public async Task GivenADeleteResourceRequest_WhenHandled_ThenTheResponseShouldHaveTheDeletedVersion() { var repository = Substitute.For <IFhirRepository>(); var handler = new DeleteResourceHandler(repository); var resourceId = Guid.NewGuid().ToString(); var deletedResourceKey = new ResourceKey("Observation", resourceId, Guid.NewGuid().ToString()); repository.DeleteAsync(Arg.Any <ResourceKey>(), false).Returns(deletedResourceKey); DeleteResourceResponse response = await handler.Handle( new DeleteResourceRequest("Observation", resourceId, false), CancellationToken.None); await repository.Received().DeleteAsync(Arg.Any <ResourceKey>(), false); Assert.Equal(deletedResourceKey.VersionId, response.WeakETag.VersionId); }