public async Task CreateTechnologyWithoutNameShouldReturnBadRequest() { var mockQueue = new Mock <IQueue>(); var context = new ControllerContext { HttpContext = new DefaultHttpContext { User = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Role, "root"), new Claim(ClaimTypes.Name, "") })), } }; _controller.ControllerContext = context; var technology = new TechnologyInput() { Category = "Languages and Frameworks", Description = "", Name = "", Key = "c++", Scope = "" }; var result = await _controller.CreateTechnology(_mockRepository.Object, mockQueue.Object, technology); Assert.IsType <BadRequestResult>(result); }
public async Task CreateTechnologyShouldSaveAsync() { var mockQueue = new Mock <IQueue>(); var context = new ControllerContext { HttpContext = new DefaultHttpContext { User = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Role, "root"), new Claim(ClaimTypes.Name, "") })), } }; _controller.ControllerContext = context; var technology = new TechnologyInput() { Category = "Languages and Frameworks", Description = "", Name = "C++", Key = "c++", Scope = "" }; await _controller.CreateTechnology(_mockRepository.Object, mockQueue.Object, technology); _mockRepository.Verify(m => m.SaveAsync(It.IsAny <Technology>())); mockQueue.Verify(m => m.PublishAsync("history", It.IsAny <string>())); }
public async Task CreateTechnologyShouldCatchArgumentExceptionAndReturnBadRequest() { var mockQueue = new Mock <IQueue>(); var context = new ControllerContext { HttpContext = new DefaultHttpContext { User = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Role, "root"), new Claim(ClaimTypes.Name, "") })), } }; _controller.ControllerContext = context; var technology = new TechnologyInput() { Category = "Languages and Frameworks", Description = "", Name = "C++", Key = "c++", Scope = "" }; _mockRepository.Setup(m => m.SaveAsync(It.IsAny <Technology>())) .ThrowsAsync(new ArgumentException("exception")); var result = await _controller.CreateTechnology(_mockRepository.Object, mockQueue.Object, technology); _mockRepository.Verify(m => m.SaveAsync(It.IsAny <Technology>())); mockQueue.Verify(m => m.PublishAsync("history", It.IsAny <string>()), Times.Never()); Assert.IsType <BadRequestObjectResult>(result); }