public async Task EditNewsText_WithCorrectInformation()
        {
            var dabataseName = nameof(Throw_WhenNews_DoesNotExists);

            var options = NewsTestUtils.GetOptions(dabataseName);

            NewsTestUtils.FillContextWithNews(options);

            var mappingProviderMock = new Mock <IMappingProvider>();

            string newsTitle = "Spider-Man Far From Home soon in cinemas";

            string changedNewsText = "Spider-Man tickets have already been sold out due to huge interest";

            var newsViewModel = new NewsViewModel()
            {
                Text = changedNewsText
            };

            using (var actAndAssertContext = new MovieManagementContext(options))
            {
                var sut = new NewsService(actAndAssertContext, mappingProviderMock.Object);

                await sut.EditNewsTextAsync(newsTitle, newsViewModel);

                Assert.IsTrue(await actAndAssertContext.News.AnyAsync(m => m.Text == changedNewsText));
            }
        }
        public async Task Throw_WhenNews_DoesNotExists()
        {
            var dabataseName = nameof(Throw_WhenNews_DoesNotExists);

            var options = NewsTestUtils.GetOptions(dabataseName);

            NewsTestUtils.FillContextWithNews(options);

            var mappingProviderMock = new Mock <IMappingProvider>();

            using (var actAndAssertContext = new MovieManagementContext(options))
            {
                var    sut       = new NewsService(actAndAssertContext, mappingProviderMock.Object);
                string newsTitle = "Michael Jordan received an Oscar for Creed II";

                await Assert.ThrowsExceptionAsync <EntityInvalidException>(
                    async() => await sut.GetNewsByNameAsync(newsTitle));
            }
        }
예제 #3
0
        public async Task Throw_WhenNews_DoNotExist()
        {
            var dabataseName = nameof(Throw_WhenNews_DoNotExist);

            var options = NewsTestUtils.GetOptions(dabataseName);

            NewsTestUtils.FillContextWithNews(options);

            var mappingProviderMock = new Mock <IMappingProvider>();

            string newsTitle = "BatMan is back!";

            using (var actAndAssertContext = new MovieManagementContext(options))
            {
                var sut = new NewsService(actAndAssertContext, mappingProviderMock.Object);


                await Assert.ThrowsExceptionAsync <EntityInvalidException>(
                    async() => await sut.DeleteNews(newsTitle));
            }
        }
예제 #4
0
        public async Task Delete_NewsSuccesfully()
        {
            var dabataseName = nameof(Delete_NewsSuccesfully);

            var options = NewsTestUtils.GetOptions(dabataseName);

            NewsTestUtils.FillContextWithNews(options);

            var mappingProviderMock = new Mock <IMappingProvider>();

            using (var actAndAssertContext = new MovieManagementContext(options))
            {
                var    sut       = new NewsService(actAndAssertContext, mappingProviderMock.Object);
                string newsTitle = "Spider-Man Far From Home soon in cinemas";

                Assert.IsTrue(actAndAssertContext.News.Count() == 1);

                await sut.DeleteNews(newsTitle);

                Assert.IsTrue(actAndAssertContext.News.Count() == 0);
            }
        }
예제 #5
0
        public async Task Throw_WhenNews_DoExist()
        {
            var dabataseName = nameof(Throw_WhenNews_DoExist);

            var options = NewsTestUtils.GetOptions(dabataseName);

            NewsTestUtils.FillContextWithNews(options);

            var mappingProviderMock = new Mock <IMappingProvider>();

            DateTime createdOn = DateTime.Now;
            string   newsTitle = "Spider-Man Far From Home soon in cinemas";
            string   text      = " Spider-Man: Far From Home will be released in theaters on July 5, 2019";
            string   imageUrl  = "anyimage.jpg";

            using (var actAndAssertContext = new MovieManagementContext(options))
            {
                var sut = new NewsService(actAndAssertContext, mappingProviderMock.Object);


                await Assert.ThrowsExceptionAsync <EntityAlreadyExistsException>(
                    async() => await sut.CreateNewsAsync(createdOn, newsTitle, text, imageUrl));
            }
        }