public void DeletePhotoItemTest() { var item = _repository.ReadPhotoItems().FirstOrDefault(); if (item == null) { //Arrange //Setup a PhotoItem var userA = new User() { Id = 1, Name = "Teddy", Role_FK = (int)Permission.Guest }; var userB = new User() { Id = 2, Name = "Cathrine", Role_FK = (int)Permission.Administrator }; PhotoItem photoitem = new PhotoItem() { UserName = userA.Name, Info = "In the Dessert..", Country = "USA", Location = "Salt Lake City", Latitude = 1.1, Longitude = 2.2, TimeStamp = DateTime.Now, Photo = new Photo() { Binary = new byte[] { 1, 0, 1 } } }; _repository.CreateOrUpdatePhotoItem(photoitem); var commentA = new Comment() { Text = "What a day!", UserName = userA.Name, TimeStamp = DateTime.Now }; var commentB = new Comment() { Text = "Good photo", UserName = userB.Name, TimeStamp = DateTime.Now }; //Act photoitem.AddComment(commentA); photoitem.AddComment(commentB); _repository.CreateOrUpdatePhotoItem(photoitem); } item = _repository.ReadPhotoItems().FirstOrDefault(); _repository.DeletePhotoItem(item); var context = new EFDbContext(); var itemresult = context.PhotoItems.Find(item.Id); var photoresult = context.Photos.Find(item.Id); var commentresult = context.Comments.Where(p => p.PhotoItem_FK == item.Id); Assert.IsNull(itemresult); Assert.IsNull(photoresult); Assert.IsEmpty(commentresult); }
public void CreatePhotoItemWithCommentsTest() { //Arrange //Setup a PhotoItem var userA = new User() { Id = 1, Name = "Teddy", Role_FK = (int)Permission.Guest }; var userB = new User() { Id = 2, Name = "Cathrine", Role_FK = (int)Permission.Administrator }; PhotoItem photoitem = new PhotoItem() { UserName = userA.Name, Info = "In the Dessert..", Country = "USA", Location = "Salt Lake City", Latitude = 1.1, Longitude = 2.2, TimeStamp = DateTime.Now, Photo = new Photo() { Binary = new byte[] { 1, 0, 1 } } }; _repository.CreateOrUpdatePhotoItem(photoitem); var commentA = new Comment() { Text = "What a day!", UserName = userA.Name, TimeStamp = DateTime.Now }; var commentB = new Comment() { Text = "Good photo", UserName = userB.Name, TimeStamp = DateTime.Now }; //Act photoitem.AddComment(commentA); photoitem.AddComment(commentB); _repository.CreateOrUpdatePhotoItem(photoitem); //Assert PhotoItem result = _repository.ReadPhotoItem(photoitem.Id); Assert.IsNotNull(result); Assert.IsTrue(result.Comments.Count == 2); }
public void UpdateCommentsTest() { //Arrange var context = new EFDbContext(); var userA = new User() { Id = 1, Name = "Bill" }; var userB = new User() { Id = 2, Name = "Steven" }; var commentA = new Comment() { Text = "Lovely dress!", UserName = userB.Name, TimeStamp = DateTime.Now }; PhotoItem photoitem = new PhotoItem() { UserName = userA.Name, Info = "Inside Opera", Country = "Australia", Location = "Sidney", Latitude = 11.2, Longitude = 2.6, TimeStamp = DateTime.Now, Photo = new Photo() { Binary = new byte[] { 1, 0, 1 } } }; photoitem.AddComment(commentA); _repository.CreateOrUpdatePhotoItem(photoitem); //Act var comment = _repository.ReadComments().FirstOrDefault(); comment.Text = "Changed my mind about your dress! It is amazing!"; _repository.UpdateComment(comment); var result = context.Comments.Where(x => x.Id == comment.Id).FirstOrDefault(); Assert.AreEqual("Changed my mind about your dress! It is amazing!", result.Text); }