public async Task UpdateAsync_RequirePermissionsAsyncSucceeds_ReturnsUpdateAsync( ulong currentUserId, long guildId) { using var testContext = new TestContext(); testContext.SetCurrentUserId(currentUserId); var mockError = new Mock <OperationError>("Mock Message"); testContext.MockCharacterGuildsService .Setup(x => x.UpdateAsync(It.IsAny <long>(), It.IsAny <CharacterGuildUpdateModel>(), It.IsAny <ulong>(), It.IsAny <CancellationToken>())) .ReturnsAsync(OperationResult.FromError(mockError.Object)); var uut = testContext.BuildUut(); var updateModel = new CharacterGuildUpdateModel(); var result = await uut.UpdateAsync( guildId, updateModel, testContext.CancellationToken); result.IsFailure.ShouldBeTrue(); result.Error.ShouldBeSameAs(mockError.Object); testContext.MockAuthorizationService.ShouldHaveReceived(x => x .RequirePermissionsAsync( It.Is <int[]>(y => (y != null) && (y.Length != 0)), testContext.CancellationToken)); testContext.MockCharacterGuildsService.ShouldHaveReceived(x => x .UpdateAsync(guildId, updateModel, currentUserId, testContext.CancellationToken)); }
public async Task UpdateAsync_RequirePermissionsAsyncFails_ReturnsImmediately( long guildId) { using var testContext = new TestContext(); var mockError = new Mock <OperationError>("Mock Message"); testContext.RequirePermissionsResult = OperationResult.FromError(mockError.Object); var uut = testContext.BuildUut(); var updateModel = new CharacterGuildUpdateModel(); var result = await uut.UpdateAsync( guildId, updateModel, testContext.CancellationToken); result.IsFailure.ShouldBeTrue(); result.Error.ShouldBeSameAs(mockError.Object); testContext.MockAuthorizationService.ShouldHaveReceived(x => x .RequirePermissionsAsync( It.Is <int[]>(y => (y != null) && (y.Length != 0)), testContext.CancellationToken)); testContext.MockCharacterGuildsService.Invocations.ShouldBeEmpty(); }