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); }
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>())); }