public async Task GenerateLinkRegionNotFound() { //Arrange var playerName = "Test Name"; var playerRegion = "Test Region"; var generatLinkDto = new GenerateLinkDto { Nickname = playerName, Server = playerRegion }; var mockRiotService = new Mock <IRiotApiService>(); mockRiotService.Setup(rs => rs.FetchPlayerId(playerName, playerRegion)).ThrowsAsync(new RegionNotFoundException()); var mockSendgridService = new Mock <ISendgridService>(); var controller = new WebPageController(mockRiotService.Object, mockSendgridService.Object); //Act var result = await controller.GenerateLink(generatLinkDto); //Assert var viewResult = Assert.IsType <ViewResult>(result); viewResult.ViewData.ModelState.TryGetValue("RegionNotFound", out var error); Assert.Equal("Selected region not found.", error.Errors[0].ErrorMessage); }
public async Task GenerateLinkSuccess() { //Arrange var playerName = "Test Name"; var playerRegion = "Test Region"; var generatLinkDto = new GenerateLinkDto { Api = "Test Api", Nickname = playerName, Server = playerRegion }; var mockRiotService = new Mock <IRiotApiService>(); mockRiotService.Setup(rs => rs.FetchPlayerId(playerName, playerRegion)).ReturnsAsync("ID"); var mockSendgridService = new Mock <ISendgridService>(); var controller = new WebPageController(mockRiotService.Object, mockSendgridService.Object); controller.ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; //Act var result = await controller.GenerateLink(generatLinkDto); //Assert var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Link", redirectToActionResult.ActionName); }
public async Task GenerateLinkModelStateInvalid() { //Arrange var generatLinkDto = new GenerateLinkDto(); var mockRiotService = new Mock <IRiotApiService>(); var mockSendgridService = new Mock <ISendgridService>(); var controller = new WebPageController(mockRiotService.Object, mockSendgridService.Object); controller.ModelState.AddModelError("Testing Error", "Error"); //Act var result = await controller.GenerateLink(generatLinkDto); //Assert var viewResult = Assert.IsType <ViewResult>(result); viewResult.ViewData.ModelState.TryGetValue("Testing Error", out var error); Assert.Equal("Error", error.Errors[0].ErrorMessage); }