public void SearchAdsByTitle_SearchStringIsNotNullOrEmpty_ReturnMatchedAd() { ISessionFactory sessionFactory = NhibernateHelper.SessionFactory; Repository repo = new Repository(sessionFactory); AdRepository adRepo = new AdRepository(sessionFactory); using (ITransaction transaction = sessionFactory.GetCurrentSession().BeginTransaction()) { // Given #region test data User u = new User { Email = "*****@*****.**", Password = "******" }; repo.Save <User>(u); City c = new City { Label = "CherzmOi", LabelUrlPart = "city" }; Category cat = new Category { Label = "Voiture", LabelUrlPart = "Voiture" }; Ad a = new Ad { Title = "titre 1", Body = "content", CreatedBy = u, CreationDate = new DateTime(2012, 01, 16, 23, 52, 18) }; c.AddAd(a); cat.AddAd(a); repo.Save <City>(c); repo.Save <Category>(cat); repo.Save <Ad>(a); Ad a2 = new Ad { Title = "title 2", Body = "content", CreatedBy = u, CreationDate = new DateTime(2012, 01, 16, 23, 52, 17) }; c.AddAd(a2); cat.AddAd(a2); repo.Save <Ad>(a2); repo.Flush(); #endregion // When IList <Ad> result = adRepo.SearchAdsByTitle("tre"); // Then Assert.AreEqual(1, result.Count); Assert.AreEqual(a, result[0]); } }
public void SearchAdsByTitle_SearchStringIsNull_ReturnEverythingOrderedByCreationDate() { ISessionFactory sessionFactory = NhibernateHelper.SessionFactory; Repository repo = new Repository(sessionFactory); AdRepository adRepo = new AdRepository(sessionFactory); using (ITransaction transaction = sessionFactory.GetCurrentSession().BeginTransaction()) { // Given #region test data User u = new User { Email = "*****@*****.**", Password = "******" }; repo.Save<User>(u); City c = new City { Label = "CherzmOi", LabelUrlPart = "city" }; Category cat = new Category { Label = "Moto", LabelUrlPart = "Moto" }; Ad a = new Ad { Title = "titre 1", Body = "content", CreatedBy = u, CreationDate = new DateTime(2012, 01, 16, 23, 52, 12) }; c.AddAd(a); cat.AddAd(a); repo.Save<City>(c); repo.Save<Category>(cat); repo.Save<Ad>(a); Ad a2 = new Ad { Title = "title 2", Body = "content", CreatedBy = u, CreationDate = new DateTime(2012, 01, 16, 23, 52, 18) }; c.AddAd(a2); cat.AddAd(a2); repo.Save<Ad>(a2); repo.Flush(); #endregion // When IList<Ad> result = adRepo.SearchAdsByTitle(null); // Then Assert.AreEqual(2, result.Count); Assert.AreEqual(a2, result[0]); Assert.AreEqual(a, result[1]); } }