Пример #1
0
        public async Task TestScrapeAlpha_WithAParam()
        {
            // arrange
            ISettingRepository settingRepo = new MockSettingsRepository();

            var apiRepo = new MockApiRepository();

            apiRepo.ReadContent(typeof(MockApiRepository).Assembly.GetManifestResourceStream(typeof(MockApiRepository), "Data.TvMazeSearchByA.json"));
            var apiSvclogger = new DebugLogger <TvMazeService>();

            var tvmazeService = new TvMazeService(apiRepo, apiSvclogger);

            var scrapeCtrlLogger = new DebugLogger <ScrapeController>();
            var controller       = new ScrapeController(showService: this.showService, tvMazeService: tvmazeService, logger: scrapeCtrlLogger);

            // act
            var response = await controller.ScrapeAlpha("A").ConfigureAwait(false);

            // assert
            response.Should().BeAssignableTo <ViewResult>(because: "this should now return a View.");
            var viewResponse = (ViewResult)response;

            viewResponse.Model.Should().BeAssignableTo <ScrapeAlphaViewModel>();

            var model = (ScrapeAlphaViewModel)viewResponse.Model;

            model.PreviousInitial.Should().Be("A");
            model.NextInitial.Should().Be("B");
            model.PreviousCount.Should().NotBe(0);
        }
Пример #2
0
        public async Task TestDefaultAction()
        {
            // arrange
            var s1 = new Show {
                Id = 42, Name = "HitchHikers Guide to the Galaxy"
            };
            var m = new CastMember {
                Id = 1, Name = "Ford Prefect", Birthdate = new DateTime(1500, 1, 1)
            };

            s1.ShowCastMembers.Add(new ShowCastMember {
                Show = s1, CastMember = m
            });
            m = new CastMember {
                Id = 2, Name = "Arthur Dent", Birthdate = new DateTime(1960, 12, 31)
            };
            s1.ShowCastMembers.Add(new ShowCastMember {
                Show = s1, CastMember = m
            });
            this.context.Shows.Add(s1);

            var s2 = new Show {
                Id = 12, Name = "Some other show"
            };

            m = new CastMember {
                Id = 5, Name = "Someone", Birthdate = new DateTime(1980, 12, 31)
            };
            s2.ShowCastMembers.Add(new ShowCastMember {
                Show = s2, CastMember = m
            });
            this.context.Shows.Add(s2);
            this.context.SaveChanges();

            // note that the tvmazeservice and logger are not used in this action
            var controller = new ScrapeController(showService: this.showService, tvMazeService: null, logger: null);

            // act
            var response = await controller.Index().ConfigureAwait(false);

            // assert
            response.Should().BeAssignableTo <ViewResult>(because: "this should always return a View.");

            var viewResponse = (ViewResult)response;

            viewResponse.Model.Should().BeAssignableTo <int>();
            viewResponse.Model.Should().Be(42, because: "that was the highest ID specified.");

            this.showRepoLogger.WarnCount.Should().Be(0);
            this.showRepoLogger.ErrorCount.Should().Be(0);
        }
Пример #3
0
        public async Task TestScrapeAlpha_WithoutParam()
        {
            // arrange
            var scrapeLogger = new DebugLogger <ScrapeController>();
            var controller   = new ScrapeController(showService: this.showService, tvMazeService: null, logger: scrapeLogger);

            // act
            var response = await controller.ScrapeAlpha().ConfigureAwait(false);

            // assert
            response.Should().BeAssignableTo <ViewResult>(because: "this should now return a View.");
            var viewResponse = (ViewResult)response;

            viewResponse.Model.Should().BeAssignableTo <ScrapeAlphaViewModel>();

            var model = (ScrapeAlphaViewModel)viewResponse.Model;

            model.PreviousInitial.Should().BeNullOrEmpty();
            model.NextInitial.Should().Be("A");
        }
Пример #4
0
        public async Task TestScrapeAlpha_WithZParam()
        {
            // arrange
            ISettingRepository settingRepo = new MockSettingsRepository();

            var apiRepo = new MockApiRepository();

            apiRepo.ReadContent(typeof(MockApiRepository).Assembly.GetManifestResourceStream(typeof(MockApiRepository), "Data.TvMazeSearchByA.json"));
            var apiSvclogger = new DebugLogger <TvMazeService>();

            var tvmazeService = new TvMazeService(apiRepo, apiSvclogger);

            var scrapeCtrlLogger = new DebugLogger <ScrapeController>();
            var controller       = new ScrapeController(showService: this.showService, tvMazeService: tvmazeService, logger: scrapeCtrlLogger);

            // act
            var response = await controller.ScrapeAlpha("Z").ConfigureAwait(false);

            // assert
            response.Should().BeAssignableTo <RedirectToActionResult>(because: "this should now redirect to Home.");
        }