Пример #1
0
        public async Task DeleteAsync_Otherwise_DeletesTicketAndReturnsSuccess(
            long ticketId,
            ulong userId,
            long creationId,
            long actionId)
        {
            using var testContext = TestContext.CreateReadOnly();

            var ticket = new AuthenticationTicketEntity(
                id:         ticketId,
                userId:     userId,
                creationId: creationId,
                deletionId: null);

            testContext.MockContext
            .Setup(x => x.FindAsync <AuthenticationTicketEntity?>(It.IsAny <object[]>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(ticket);

            var uut = testContext.BuildUut();

            var result = await uut.DeleteAsync(
                ticketId,
                actionId,
                testContext.CancellationToken);

            result.IsSuccess.ShouldBeTrue();

            ticket.DeletionId.ShouldBe(actionId);

            testContext.MockContext.ShouldHaveReceived(x => x.FindAsync <AuthenticationTicketEntity?>(
                                                           It.Is <object[]>(y => y.SequenceEqual(ticketId.ToEnumerable().Cast <object>())),
                                                           testContext.CancellationToken));
            testContext.MockContext.ShouldHaveReceived(x => x.SaveChangesAsync(testContext.CancellationToken));
        }
        public void Constructor_Always_ReturnsEntity(
            long id,
            ulong userId,
            long creationId,
            long?deletionId)
        {
            var result = new AuthenticationTicketEntity(
                id,
                userId,
                creationId,
                deletionId);

            result.Id.ShouldBe(id);
            result.UserId.ShouldBe(userId);
            result.CreationId.ShouldBe(creationId);
            result.DeletionId.ShouldBe(deletionId);
        }
Пример #3
0
        public async Task DeleteAsync_TicketIsDeleted_ReturnsDataAlreadyDeleted(
            long ticketId,
            ulong userId,
            long creationId,
            long deletionId,
            long actionId)
        {
            using var testContext = TestContext.CreateReadOnly();

            var ticket = new AuthenticationTicketEntity(
                id: ticketId,
                userId: userId,
                creationId: creationId,
                deletionId: deletionId);

            testContext.MockContext
            .Setup(x => x.FindAsync <AuthenticationTicketEntity?>(It.IsAny <object[]>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(ticket);

            var uut = testContext.BuildUut();

            var result = await uut.DeleteAsync(
                ticketId,
                actionId,
                testContext.CancellationToken);

            result.IsFailure.ShouldBeTrue();
            result.Error.ShouldBeOfType <DataAlreadyDeletedError>();
            result.Error.Message.ShouldContain(ticketId.ToString());

            ticket.DeletionId.ShouldBe(deletionId);

            testContext.MockContext.ShouldHaveReceived(x => x.FindAsync <AuthenticationTicketEntity?>(
                                                           It.Is <object[]>(y => y.SequenceEqual(ticketId.ToEnumerable().Cast <object>())),
                                                           testContext.CancellationToken));
            testContext.MockContext.ShouldNotHaveReceived(x => x.SaveChangesAsync(It.IsAny <CancellationToken>()));
        }