public async Task <IActionResult> UpdateClient(int id, ClientDetailedDto clientDetailedDto) { try{ if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var clientFromRepo = await _repo.GetCustomer(id); _mapper.Map(clientDetailedDto, clientFromRepo); if (await _repo.SaveAll()) { return(NoContent()); } else { return(NoContent()); } //user updating issue //throw new Exception("Updating failed. User number: " + id.ToString()); } catch { return(Unauthorized()); } }
public async Task UpdateClient_ShouldReturnUnathorized_IfThereIsNoClaims() { //arrange int mockCustId = 1; Client c1 = new Client { Id = mockCustId }; //faked claims: var xd = new ClaimsIdentity(); var mockRepo = new Mock <ICustomerRepository>(); var mockMapper = new Mock <IMapper>(); var mockContr = new Mock <ProductsController>(); ClientDetailedDto cd1 = new ClientDetailedDto(); mockRepo.Setup(repo => repo.GetCustomer(mockCustId)).ReturnsAsync(c1); mockRepo.Setup(repo => repo.SaveAll()); var controller = new ClientsController(mockRepo.Object, mockMapper.Object); var mocked = controller.User; var res = await controller.UpdateClient(mockCustId, cd1); Assert.IsType <UnauthorizedResult>(res); }