public void ChangeBlocking_ThrowsUserRepositoryException_When_RepositoryReturnUnexpectedResponse() { this.UserRepository .Setup(v => v.ChangeBlockingAsync(It.IsAny <IdSrvUserBlockDto>())) .ReturnsAsync(this.UnexpectedRepositoryResponse); var controller = new UserController(this.UserRepository.Object); var blockDto = new IdSrvUserBlockDto(); Assert.ThrowsAsync <UserRepositoryException>(() => controller.ChangeBlocking(blockDto)); }
public async Task ChangeBlocking_InvokeChangeBlockingAsyncFromRepository_With_PassedBlock() { this.UserRepository .Setup(v => v.ChangeBlockingAsync(It.IsAny <IdSrvUserBlockDto>())) .ReturnsAsync(RepositoryResponse.Success); var controller = new UserController(this.UserRepository.Object); var blockDto = new IdSrvUserBlockDto(); IHttpActionResult httpResult = await controller.ChangeBlocking(blockDto); this.UserRepository.Verify(v => v.ChangeBlockingAsync(blockDto)); }
public async Task ChangeBlocking_ReturnNotFound_When_RepositoryReturnNotFound() { this.UserRepository .Setup(v => v.ChangeBlockingAsync(It.IsAny <IdSrvUserBlockDto>())) .ReturnsAsync(RepositoryResponse.NotFound); var controller = new UserController(this.UserRepository.Object); var blockDto = new IdSrvUserBlockDto(); IHttpActionResult httpResult = await controller.ChangeBlocking(blockDto); Assert.NotNull(httpResult); Assert.IsInstanceOf <NotFoundResult>(httpResult); }
public async Task <IHttpActionResult> ChangeBlocking(IdSrvUserBlockDto block) { if (block == null) { return(this.BadRequest()); } RepositoryResponse response = await this.UserRepository.ChangeBlockingAsync(block); return (response == RepositoryResponse.Success ? this.Ok() : response == RepositoryResponse.NotFound ? this.NotFound() as IHttpActionResult : throw new UserRepositoryException()); }
public async Task Unblock_CallServiceChangeBlock() { var userId = new Guid(); IdSrvUserBlockDto block = null; this.UserServiceMock .Setup(v => v.ChangeBlock(It.IsAny <IdSrvUserBlockDto>())) .ReturnsAsync(true) .Callback <IdSrvUserBlockDto>(r => block = r); var controller = new UsersController(this.UserServiceMock.Object); await controller.Unblock(userId); Assert.NotNull(block); Assert.AreEqual(userId, block.Id); Assert.IsFalse(block.IsBlocked); }
/// <inheritdoc/> public async Task <RepositoryResponse> ChangeBlockingAsync(IdSrvUserBlockDto block) { if (block == null) { throw new ArgumentNullException(nameof(block)); } using (IDbConnection connection = await this.GetConnection()) { var compiler = new SqlServerCompiler(); var db = new QueryFactory(connection, compiler); int updated = await db .Query("Users") .Where(new { Id = block.Id }) .UpdateAsync(new { block.IsBlocked }); return(updated == 1 ? RepositoryResponse.Success : RepositoryResponse.NotFound); } }
/// <inheritdoc/> /// <remarks> /// В случае ошибки подключения к WebApi возникнет системное исключение, /// внутри метода оно никак не перехватывается. Метод может вернуть false только /// в случае успешного подключения (когда ответ WebApi интепретируется как ошибка). /// </remarks> public async Task <bool> ChangeBlock(IdSrvUserBlockDto block) { return(await RestApiHelpers.CallBoolApi(() => this.RestClient.ChangeBlockingAsync(block))); }