Example #1
0
    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);
    }
Example #2
0
    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);
    }
Example #3
0
    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);
    }