public async Task Should_allocate_multiple_users()
        {
            var response = new List <AllocationDetailsResponse>()
            {
                new AllocationDetailsResponseBuilder().Build()
            };

            var client = new Mock <ITestApiClient>();

            client
            .Setup(x => x.UnallocateUsersAsync(It.IsAny <UnallocateUsersRequest>()))
            .ReturnsAsync(response);

            var controller = new AllocationController(client.Object, _loggerMock.Object);

            var result = await controller.UnallocateUsersByUsername(_request);

            var typedResult = (ObjectResult)result;

            typedResult.StatusCode.Should().Be((int)HttpStatusCode.OK);

            var userDetails = (List <AllocationDetailsResponse>)typedResult.Value;

            userDetails.Should().NotBeNull();
            userDetails.Should().BeEquivalentTo(response);
        }
        public async Task Should_throw_internal_server()
        {
            var client = new Mock <ITestApiClient>();

            client
            .Setup(x => x.UnallocateUsersAsync(It.IsAny <UnallocateUsersRequest>()))
            .ThrowsAsync(ExceptionsData.INTERNAL_SERVER_EXCEPTION);

            var controller = new AllocationController(client.Object, _loggerMock.Object);
            var result     = await controller.UnallocateUsersByUsername(_request);

            var typedResult = (ObjectResult)result;

            typedResult.StatusCode.Should().Be((int)HttpStatusCode.InternalServerError);
        }