public void ChangeBlocking_ThrowsClientRepositoryException_When_RepositoryReturnUnexpectedResponse() { this.ClientRepository .Setup(v => v.ChangeBlockingAsync(It.IsAny <IdSrvClientBlockDto>())) .ReturnsAsync(this.UnexpectedRepositoryResponse); var controller = new ClientController(this.ClientRepository.Object); var blockDto = new IdSrvClientBlockDto(); Assert.ThrowsAsync <ClientRepositoryException>(() => controller.ChangeBlocking(blockDto)); }
public async Task ChangeBlocking_InvokeChangeBlockingAsyncFromRepository_With_PassedBlock() { this.ClientRepository .Setup(v => v.ChangeBlockingAsync(It.IsAny <IdSrvClientBlockDto>())) .ReturnsAsync(RepositoryResponse.Success); var controller = new ClientController(this.ClientRepository.Object); var blockDto = new IdSrvClientBlockDto(); IHttpActionResult httpResult = await controller.ChangeBlocking(blockDto); this.ClientRepository.Verify(v => v.ChangeBlockingAsync(blockDto)); }
public async Task ChangeBlocking_ReturnNotFound_When_RepositoryReturnNotFound() { this.ClientRepository .Setup(v => v.ChangeBlockingAsync(It.IsAny <IdSrvClientBlockDto>())) .ReturnsAsync(RepositoryResponse.NotFound); var controller = new ClientController(this.ClientRepository.Object); var blockDto = new IdSrvClientBlockDto(); IHttpActionResult httpResult = await controller.ChangeBlocking(blockDto); Assert.NotNull(httpResult); Assert.IsInstanceOf <NotFoundResult>(httpResult); }
public async Task <IHttpActionResult> ChangeBlocking(IdSrvClientBlockDto block) { if (block == null) { return(this.BadRequest()); } RepositoryResponse response = await this.ClientRepository.ChangeBlockingAsync(block); return (response == RepositoryResponse.Success ? this.Ok() : response == RepositoryResponse.NotFound ? this.NotFound() as IHttpActionResult : throw new ClientRepositoryException()); }
public async Task Unblock_CallServiceChangeBlock() { var clientId = Guid.NewGuid(); IdSrvClientBlockDto block = null; this.ClientServiceMock .Setup(v => v.ChangeBlock(It.IsAny <IdSrvClientBlockDto>())) .ReturnsAsync(true) .Callback <IdSrvClientBlockDto>(r => block = r); var controller = new ClientsController(this.ClientServiceMock.Object); await controller.Unblock(clientId); Assert.NotNull(block); Assert.AreEqual(clientId, block.Id); Assert.IsFalse(block.IsBlocked); }
/// <inheritdoc/> public async Task <RepositoryResponse> ChangeBlockingAsync(IdSrvClientBlockDto 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("Clients").Where(new { block.Id }).UpdateAsync(block); return(updated == 1 ? RepositoryResponse.Success : RepositoryResponse.NotFound); } }
/// <inheritdoc/> /// <remarks> /// В случае ошибки подключения к WebApi возникнет системное исключение, /// внутри метода оно никак не перехватывается. Метод может вернуть false только /// в случае успешного подключения (когда ответ WebApi интепретируется как ошибка). /// </remarks> public async Task <bool> ChangeBlock(IdSrvClientBlockDto block) { return(await RestApiHelpers.CallBoolApi(() => this.RestClient.ChangeBlockingAsync(block))); }