Beispiel #1
0
        public void EditWebtoonAsyncThrowsArgumentExceptionWhenGivenInvalidAuthorId()
        {
            var mockWebtoonsRepo = new Mock <IWebtoonsRepository>();
            var webtoons         = new List <Webtoon>();
            var firstWebtoon     = new Webtoon()
            {
                Id       = "7",
                AuthorId = "123",
                GenreId  = "14",
                Genre    = new Genre()
                {
                    Name = "action",
                    Id   = "14"
                },
                Author = new ApplicationUser()
                {
                    Id       = "123",
                    UserName = "******"
                },
                Title       = "Darkness",
                TitleNumber = "1",
                Episodes    = new List <Episode>(),
            };

            mockWebtoonsRepo.Setup(x => x.GetWebtoonByTitleNumber(It.IsAny <string>())).Returns((string webtoonTitleNumber) => webtoons.FirstOrDefault(x => x.TitleNumber == webtoonTitleNumber));

            var service = new WebtoonsService(mockWebtoonsRepo.Object, null, null, null, null, null, null, null, null, null);

            Assert.ThrowsAsync <ArgumentException>(() => service.EditWebtoon(null, "456", null));
        }
Beispiel #2
0
        public async Task EditWebtoonAsyncWorksCorrectly()
        {
            var mockWebtoonsRepo = new Mock <IWebtoonsRepository>();
            var webtoons         = new List <Webtoon>();
            var firstWebtoon     = new Webtoon()
            {
                Id       = "7",
                AuthorId = "123",
                GenreId  = "14",
                Genre    = new Genre()
                {
                    Name = "action",
                    Id   = "14"
                },
                Author = new ApplicationUser()
                {
                    Id       = "123",
                    UserName = "******"
                },
                Title       = "New Title",
                TitleNumber = "1",
                UploadDay   = MyWebtoonWebProject.Data.Models.Enums.DayOfWeek.Friday,
                Synopsis    = "old synopsis",
                CoverPhoto  = "my old friend.jpeg"
            };

            mockWebtoonsRepo.Setup(x => x.GetWebtoonByTitleNumber("1")).Returns(firstWebtoon);
            var input = new EditWebtoonInputModel()
            {
                Title              = "Darkness",
                OldTitle           = "Darkness",
                GenreId            = "16",
                UploadDay          = MyWebtoonWebProject.Data.Models.Enums.DayOfWeek.Tuesday,
                Synopsis           = "new synopsis",
                WebtoonTitleNumber = "1",
            };
            var fakePath = $@"C:\MyWebtoonWebProject\MyWebtoonWebProject\TestResults";

            var service = new WebtoonsService(mockWebtoonsRepo.Object, null, null, null, null, null, null, null, null, null);

            await service.EditWebtoon(input, "123", fakePath);

            Assert.Equal("Darkness", firstWebtoon.Title);
            Assert.Equal("16", firstWebtoon.GenreId);
            Assert.Equal("Tuesday", firstWebtoon.UploadDay.ToString());
            Assert.Equal("new synopsis", firstWebtoon.Synopsis);
        }