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);
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
            }
        }
Beispiel #6
0
        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);
        }