public async Task SaveAsync_UpdateActor_UpdatesActor() { // Arrange await using var host = await SubDomainIntegrationTestHost.InitializeAsync().ConfigureAwait(false); var scope = host.BeginScope(); var container = scope.GetInstance <IActorRepositoryContainer>(); var target = new ActorRepository(container); var actorId = Guid.NewGuid(); var actor = new Actor(new ActorId(actorId), new ExternalActorId(Guid.NewGuid())); await target.AddOrUpdateAsync(actor).ConfigureAwait(false); var externalId = Guid.NewGuid(); var updatedActor = new Actor(new ActorId(actorId), new ExternalActorId(externalId)); // Act await target.AddOrUpdateAsync(updatedActor).ConfigureAwait(false); // Assert var actual = await target .GetActorAsync(new ExternalActorId(externalId)) .ConfigureAwait(false); Assert.NotNull(actual); Assert.Equal(actorId, Guid.Parse(actual !.Id.Value)); Assert.Equal(externalId, actual.ExternalId.Value); }
public async Task DeleteAsync_GivenActor_IsDeleted() { // Arrange await using var host = await SubDomainIntegrationTestHost.InitializeAsync().ConfigureAwait(false); var scope = host.BeginScope(); var container = scope.GetInstance <IActorRepositoryContainer>(); var target = new ActorRepository(container); var actorId = Guid.NewGuid(); var externalId = Guid.NewGuid(); var actor = new Actor(new ActorId(actorId), new ExternalActorId(externalId)); await target.AddOrUpdateAsync(actor).ConfigureAwait(false); // Act await target.DeleteAsync(actor).ConfigureAwait(false); // Assert var actual = await target .GetActorAsync(new ExternalActorId(externalId)) .ConfigureAwait(false); Assert.Null(actual); }