public void TestListAll() { ClearNews(); var news = new[] { new News { Title = "Zaglavie", Content = "dadadada" }, new News { Title = "Asdjoqwe", Content = "asodojk" } }; using (var dbContext = new NewsDbContext()) { dbContext.News.AddRange(news); dbContext.SaveChanges(); } var httpResponse = this.httpClient.GetAsync("/api/news").Result; var returnedNews = httpResponse.Content.ReadAsAsync<List<News>>().Result; Assert.AreEqual(HttpStatusCode.OK, httpResponse.StatusCode); Assert.AreEqual(httpResponse.Content.Headers.ContentType.MediaType, "application/json"); Assert.AreEqual(2, returnedNews.Count); for (var i = 0; i < returnedNews.Count; i++) { Assert.AreEqual(returnedNews[i].Content, news[i].Content); Assert.AreEqual(returnedNews[i].Title, news[i].Title); Assert.AreEqual(returnedNews[i].PublishDate.ToString(), news[i].PublishDate.ToString()); Assert.AreEqual(returnedNews[i].UserId, news[i].UserId); } }
public void GetBugsShouldReturnAllBugs() { DbContext = new NewsDbContext(); this.data = new NewsData(DbContext); // Arrange -> prapare the objects this.data.News.Add(new NewsItem { Title = "Test", Content = "Test", PublishDate = DateTime.Now }); this.data.News.Add(new NewsItem { Title = ";sdka;skladfh;aklsj kljoidflkjal", Content = "Test;Test;Test;Test", PublishDate = DateTime.Now.AddDays(-1) }); this.data.SaveChanges(); // Act -> perform some logic var news = this.data.News.All().Count(); // Assert -> validate the results Assert.AreEqual(2, news); }
public void CreateNewsItemWithoutContentDataShouldThrowException() { DbContext = new NewsDbContext(); this.data = new NewsData(DbContext); this.data.News.Add(new NewsItem { Title = "Test", PublishDate = DateTime.Now }); this.data.SaveChanges(); }
public void AddNewsItemThenGetTheNewItemSouldBeTheSame() { DbContext = new NewsDbContext(); this.data = new NewsData(DbContext); var news = new NewsItem { Title = "Test", Content = "Test", PublishDate = DateTime.Now }; this.data.News.Add(news); this.data.SaveChanges(); Assert.AreEqual(news, this.data.News.All().OrderBy(n => n.Id).FirstOrDefault()); }
public void TestAddValidNews() { ClearNews(); var news = new News { Title = "Zaglavie", Content = "tralala123" }; var postContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("title", news.Title), new KeyValuePair<string, string>("content", news.Content) }); var httpResponse = this.httpClient.PostAsync("/api/news", postContent).Result; Assert.AreEqual(HttpStatusCode.Created, httpResponse.StatusCode); Assert.IsNotNull(httpResponse.Headers.Location); var returnedNews = httpResponse.Content.ReadAsAsync<News>().Result; Assert.IsTrue(returnedNews.Id != 0); Assert.AreEqual(news.Title, returnedNews.Title); Assert.AreEqual(news.Content, returnedNews.Content); Assert.AreEqual(news.PublishDate.ToString(), returnedNews.PublishDate.ToString()); using (var dbContext = new NewsDbContext()) { var newsFromDb = dbContext.News.FirstOrDefault(); Assert.IsNotNull(newsFromDb); Assert.AreEqual(returnedNews.Id, newsFromDb.Id); Assert.AreEqual(returnedNews.Title, newsFromDb.Title); Assert.AreEqual(returnedNews.PublishDate.ToString(), newsFromDb.PublishDate.ToString()); Assert.AreEqual(returnedNews.Content, newsFromDb.Content); } }
private static void ClearUsers() { using (var dbContext = new NewsDbContext()) { dbContext.Users.Delete(); dbContext.SaveChanges(); } }
public void TestDeleteNews() { ClearNews(); var news = new News { Title = "Zaglavie", Content = "tralala123" }; using (var dbContext = new NewsDbContext()) { dbContext.News.Add(news); dbContext.SaveChanges(); } var httpResponse = this.httpClient.DeleteAsync("/api/news/" + news.Id).Result; Assert.AreEqual(HttpStatusCode.OK, httpResponse.StatusCode); using (var dbContext = new NewsDbContext()) { var newsFromDb = dbContext.News.FirstOrDefault(); Assert.IsNull(newsFromDb); } }
public void TestModifyInvalidNews() { ClearNews(); var news = new News { Title = "Zaglavie", Content = "tralala123" }; using (var dbContext = new NewsDbContext()) { dbContext.News.Add(news); dbContext.SaveChanges(); } var postContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("content", "No Title") }); var httpResponse = this.httpClient.PutAsync("/api/news/" + news.Id, postContent).Result; Assert.AreEqual(HttpStatusCode.BadRequest, httpResponse.StatusCode); using (var dbContext = new NewsDbContext()) { var newsFromDb = dbContext.News.FirstOrDefault(); Assert.IsNotNull(newsFromDb); Assert.AreEqual(news.Title, newsFromDb.Title); Assert.AreEqual(news.Content, newsFromDb.Content); } }
public void TestModifyValidNews() { ClearNews(); var news = new News { Title = "Zaglavie", Content = "tralala123" }; using (var dbContext = new NewsDbContext()) { dbContext.News.Add(news); dbContext.SaveChanges(); } var postContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("title", "Changed Title"), new KeyValuePair<string, string>("content", "Changed Content") }); var httpResponse = this.httpClient.PutAsync("/api/news/" + news.Id, postContent).Result; Assert.AreEqual(HttpStatusCode.OK, httpResponse.StatusCode); var returnedNews = httpResponse.Content.ReadAsAsync<News>().Result; Assert.AreEqual(news.Id, returnedNews.Id); Assert.AreEqual("Changed Title", returnedNews.Title); Assert.AreEqual("Changed Content", returnedNews.Content); Assert.AreEqual(news.PublishDate.ToString(), returnedNews.PublishDate.ToString()); using (var dbContext = new NewsDbContext()) { var newsFromDb = dbContext.News.FirstOrDefault(); Assert.IsNotNull(newsFromDb); Assert.AreEqual(returnedNews.Id, newsFromDb.Id); Assert.AreEqual(returnedNews.Title, newsFromDb.Title); Assert.AreEqual(returnedNews.PublishDate.ToString(), newsFromDb.PublishDate.ToString()); Assert.AreEqual(returnedNews.Content, newsFromDb.Content); } }
public void TestAddInvalidNews() { ClearNews(); var postContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("title", "No Content") }); var httpResponse = this.httpClient.PostAsync("/api/news", postContent).Result; Assert.AreEqual(HttpStatusCode.BadRequest, httpResponse.StatusCode); Assert.IsNull(httpResponse.Headers.Location); using (var dbContext = new NewsDbContext()) { var newsFromDb = dbContext.News.FirstOrDefault(); Assert.IsNull(newsFromDb); } }
static void Main(string[] args) { Database.SetInitializer(new MigrateDatabaseToLatestVersion<NewsDbContext, Configuration>()); var firstNewsContext = new NewsDbContext(); var secondNewsContext = new NewsDbContext(); var allNewsFirst = firstNewsContext.News.ToList(); var allNewsSecond = secondNewsContext.News.ToList(); // Print all news content foreach (var news in allNewsFirst) { Console.WriteLine(news.Content); } Console.WriteLine(); Console.WriteLine("Application Started !!!"); Console.WriteLine(); // Change news Content from first context instance foreach (var news in allNewsFirst) { Console.WriteLine("First User."); Console.WriteLine("Text from DB: " + news.Content); Console.WriteLine("Enter the correct text. [Press 'Enter' to save]"); string newNewsContent = Console.ReadLine(); news.Content = newNewsContent; firstNewsContext.SaveChanges(); Console.WriteLine("Changes successfully saved in the DB."); Console.WriteLine(); } // Change news Content from second context instance foreach (var news in allNewsSecond) { Console.WriteLine("Second User."); Console.WriteLine("Text from DB: " + news.Content); Console.WriteLine("Enter the correct text. [Press 'Enter' to save]"); string newNewsContent = Console.ReadLine(); news.Content = newNewsContent; try { secondNewsContext.SaveChanges(); } catch (DbUpdateConcurrencyException e) { Console.WriteLine("=========================="); Console.WriteLine("Conflict!!!"); Console.WriteLine("=========================="); var thirdNewsContext = new NewsDbContext(); var newsWithNewValue = thirdNewsContext.News.Find(news.Id); Console.WriteLine("Text from DB: " + newsWithNewValue.Content); Console.WriteLine("Enter the correct text. [Press 'Enter' to save]"); newNewsContent = Console.ReadLine(); news.Content = newNewsContent; thirdNewsContext.SaveChanges(); } Console.WriteLine("Changes successfully saved in the DB."); Console.WriteLine(); } }
public void Init() { this.dbcontext = new NewsDbContext(); this.dbcontext.Database.CreateIfNotExists(); this.transactionScope = new TransactionScope(); }
public void ModifyExistingNewsItemWithValidData() { DbContext = new NewsDbContext(); this.data = new NewsData(DbContext); var news = new NewsItem { Title = "Tesaat", Content = "Testaa", PublishDate = DateTime.Now }; this.data.News.Add(news); this.data.SaveChanges(); news.Title = "New title"; this.data.SaveChanges(); var itemAfterChange = this.data.News.All().FirstOrDefault(); Assert.AreEqual("New title", itemAfterChange.Title); }