public async Task Test_HappyPath_When_Getting_Existing_ComicDetail() { //Arrange int mockId = 1; var mockComicService = new Mock <IComicService>(); mockComicService.Setup(service => service.GetComicDetailById(mockId)) .ReturnsAsync(GetFoundComicDetailById(mockId)); var comicController = new ComicController(mockComicService.Object); //Act var result = await comicController.Detail(mockId); //Assert var viewResult = Assert.IsType <ViewResult>(result); var displayedComicModel = Assert.IsType <DisplayedComicVM>(viewResult.Model); Assert.NotNull(displayedComicModel.Comic); Assert.NotNull(displayedComicModel.Navigation); Assert.Equal(mockId, displayedComicModel.Navigation.FirstId); Assert.Equal(mockId, displayedComicModel.Navigation.LastId); Assert.Equal(mockId, displayedComicModel.Comic.Num); Assert.Equal("Testing alt", displayedComicModel.Comic.Alt); Assert.Equal("Test comic", displayedComicModel.Comic.SafeTitle); Assert.Equal("Test comic", displayedComicModel.Comic.Title); }
public async Task AddChapter_ImageIsNotUploaded_WhenImageIsNull() { using (var db = new ArtDbContext(TestingDbContextOptions.TestDbContextOptions())) { var controller = new ComicController(db); await controller.AddChapter(null, "Test", 1); Assert.AreEqual(controller.ModelState.ErrorCount, 1); } }
public void Get_Should_Call_XKCDService_OneTime() { // Arrange: var xkcdService = new XKCDServiceFake(); var systemUnderTest = new ComicController(xkcdService); //Act var comic = systemUnderTest.Get(1); //Assert Assert.AreEqual(xkcdService.GetComicCalled, 1); }
public void Get_Should_Map_Title_And_Transcript() { // Arrange: var xkcdService = new XKCDServiceFake(); var systemUnderTest = new ComicController(xkcdService); //Act var comic = systemUnderTest.Get(1); //Assert Assert.AreEqual("Detta är ett test", comic.Value.Title); Assert.AreEqual("Lorum Ipsum...", comic.Value.Transcript); }
public async Task AddChapter_ChapterIsNotUploaded_WhenImageIsNotCorrect() { using (var db = new ArtDbContext(TestingDbContextOptions.TestDbContextOptions())) { var physicalFile = new FileInfo("links.txt"); var formFile = physicalFile.AsMockIFormFile(); var controller = new ComicController(db); await controller.AddChapter(formFile, "Test", 1); Assert.AreEqual(controller.ModelState.ErrorCount, 1); } }
public async Task UploadComic_ComicIsUploaded_WhenImageIsCorrectPng() { using (var db = new ArtDbContext(TestingDbContextOptions.TestDbContextOptions())) { var physicalFile = new FileInfo("002.png"); var formFile = physicalFile.AsMockIFormFile(); var controller = new ComicController(db); try { await controller.UploadComic(formFile, "Test", "Test", "Test"); } catch { } Assert.AreEqual(controller.ModelState.ErrorCount, 0); } }
public async Task Test_Redirect_When_ComicDetail_Not_Found() { //Arrange int mockId = 1; var mockComicService = new Mock <IComicService>(); mockComicService.Setup(service => service.GetComicDetailById(mockId)) .ReturnsAsync(GetNotFoundComicResult()); var comicController = new ComicController(mockComicService.Object); //Act var result = await comicController.Detail(mockId); //Assert var redirectResult = Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Home", redirectResult.ControllerName); Assert.Equal("Index", redirectResult.ActionName); }