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);
    }
Пример #2
0
        public async Task DeleteAsync_given_non_existing_actorId_returns_false()
        {
            using (var connection = await CreateConnectionAsync())
                using (var context = await CreateContextAsync(connection))
                {
                    var repository = new ActorRepository(context);

                    var deleted = await repository.DeleteAsync(42);

                    Assert.False(deleted);
                }
        }
    public async Task DeleteAsync_NoActor_DoesNothing()
    {
        // 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));

        // Act + Assert
        await target.DeleteAsync(actor).ConfigureAwait(false);
    }
Пример #4
0
        public async Task DeleteAsync_given_existing_actorId_deletes_and_returns_true()
        {
            using (var connection = await CreateConnectionAsync())
                using (var context = await CreateContextAsync(connection))
                {
                    var entity = new Actor {
                        Name = "Lauren Tom"
                    };
                    context.Actors.Add(entity);
                    await context.SaveChangesAsync();

                    var id = entity.Id;

                    var repository = new ActorRepository(context);

                    var deleted = await repository.DeleteAsync(id);

                    Assert.True(deleted);
                }
        }