public async Task UpdateActorCommand_NewActor_InsertsActor() { // Arrange await using var host = await OperationsIntegrationHost .InitializeAsync() .ConfigureAwait(false); await using var scope = host.BeginScope(); var mediator = scope.GetInstance <IMediator>(); var actorId = Guid.NewGuid(); var externalId = Guid.NewGuid(); var command = new UpdateActorCommand(actorId, externalId); // Act await mediator.Send(command).ConfigureAwait(false); // Assert var actorRepository = scope.GetInstance <IActorRepository>(); var actualUsingId = await actorRepository.GetActorAsync(new ActorId(actorId)).ConfigureAwait(false); Assert.NotNull(actualUsingId); var actualUsingExternalId = await actorRepository.GetActorAsync(new ExternalActorId(externalId)).ConfigureAwait(false); Assert.NotNull(actualUsingExternalId); }
public async Task DeleteActorCommand_NoActor_DoesNothing() { // Arrange await using var host = await OperationsIntegrationHost .InitializeAsync() .ConfigureAwait(false); await using var scope = host.BeginScope(); var mediator = scope.GetInstance <IMediator>(); var actorId = Guid.NewGuid(); var command = new DeleteActorCommand(actorId); // Act + Assert await mediator.Send(command).ConfigureAwait(false); }
public async Task DeleteActorCommand_InvalidCommand_ThrowsException() { // Arrange await using var host = await OperationsIntegrationHost .InitializeAsync() .ConfigureAwait(false); await using var scope = host.BeginScope(); var mediator = scope.GetInstance <IMediator>(); var command = new DeleteActorCommand(Guid.Empty); // Act + Assert await Assert .ThrowsAsync <ValidationException>(() => mediator.Send(command)) .ConfigureAwait(false); }