public async Task CreateAsync_RequirePermissionsAsyncSucceeds_ReturnsCreateAsync( ulong currentUserId, long roleId) { using var testContext = new TestContext(); testContext.SetCurrentUserId(currentUserId); testContext.MockRolesService .Setup(x => x.CreateAsync(It.IsAny <RoleCreationModel>(), It.IsAny <ulong>(), It.IsAny <CancellationToken>())) .ReturnsAsync(roleId); var uut = testContext.BuildUut(); var creationModel = new RoleCreationModel(); var result = await uut.CreateAsync( creationModel, testContext.CancellationToken); result.IsSuccess.ShouldBeTrue(); result.Value.ShouldBe(roleId); testContext.MockAuthorizationService.ShouldHaveReceived(x => x .RequirePermissionsAsync( It.Is <int[]>(y => (y != null) && (y.Length != 0)), testContext.CancellationToken)); testContext.MockRolesService .ShouldHaveReceived(x => x.CreateAsync(creationModel, currentUserId, testContext.CancellationToken)); testContext.MockRolesRepository.Invocations.ShouldBeEmpty(); }
public async Task CreateAsync_RequirePermissionsAsyncFails_ReturnsImmediately() { using var testContext = new TestContext(); var mockError = new Mock <OperationError>("Mock Message"); testContext.RequirePermissionsResult = OperationResult.FromError(mockError.Object); var uut = testContext.BuildUut(); var creationModel = new RoleCreationModel(); var result = await uut.CreateAsync( creationModel, 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.MockRolesService.Invocations.ShouldBeEmpty(); testContext.MockRolesRepository.Invocations.ShouldBeEmpty(); }