コード例 #1
0
        public async Task FindEntityAsync_ObjectNotFoundException_MethodAborts()
        {
            // Arrange
            var service = new SharedService(_dataMapper, _seasonRepository, _teamSeasonRepository);

            var teamName  = "Team";
            var seasonID  = 2017;
            var dbContext = A.Fake <ProFootballEntities>();

            var teamSeason = new TeamSeason();

            A.CallTo(() => _teamSeasonRepository.FindEntityAsync(dbContext, A <string> .Ignored, A <int> .Ignored))
            .Throws <ObjectNotFoundException>();

            var teamSeasonViewModel = new TeamSeasonViewModel();

            A.CallTo(() => _dataMapper.MapToTeamSeasonViewModel(A <TeamSeason> .Ignored)).Returns(teamSeasonViewModel);

            // Act
            var result = await service.FindEntityAsync(teamName, seasonID, dbContext);

            // Assert
            A.CallTo(() => _dataMapper.MapToTeamSeasonViewModel(teamSeason)).MustNotHaveHappened();
            Assert.IsNull(result);
        }
コード例 #2
0
        public async Task FindEntityAsync_HappyPath()
        {
            // Arrange
            var service = new SharedService(_dataMapper, _seasonRepository, _teamSeasonRepository);

            var teamName  = "Team";
            var seasonID  = 2017;
            var dbContext = A.Fake <ProFootballEntities>();

            var teamSeason = new TeamSeason();

            A.CallTo(() => _teamSeasonRepository.FindEntityAsync(dbContext, A <string> .Ignored, A <int> .Ignored))
            .Returns(teamSeason);

            var teamSeasonViewModel = new TeamSeasonViewModel();

            A.CallTo(() => _dataMapper.MapToTeamSeasonViewModel(A <TeamSeason> .Ignored)).Returns(teamSeasonViewModel);

            // Act
            var result = await service.FindEntityAsync(teamName, seasonID, dbContext);

            // Assert
            A.CallTo(() => _teamSeasonRepository.FindEntityAsync(dbContext, teamName, seasonID))
            .MustHaveHappenedOnceExactly();
            A.CallTo(() => _dataMapper.MapToTeamSeasonViewModel(teamSeason)).MustHaveHappenedOnceExactly();
            Assert.AreSame(teamSeasonViewModel, result);
        }