public void Can_add_new_daycare()
        {
            DateTime date = DateTime.Now;
            // Set the Milliseconds to 0 since MySQL DATETIME does not support milliseconds.
            date = DateTime.ParseExact(date.ToString(), "M/d/yyyy h:mm:ss tt", null);

            var daycare = new Daycare(date, _dog1, _daycareCost, _user1);
            IDaycareRepository repository = new DaycareRepository();
            repository.Add(daycare);

            // use session to try to load the daycare
            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<Daycare>(daycare.DaycareId);
                // Test that the daycare was successfully inserted
                Assert.IsNotNull(fromDb);
                Assert.AreNotSame(daycare, fromDb);
                Assert.AreEqual(daycare.Date, fromDb.Date);
                Assert.AreEqual(daycare.Dog, fromDb.Dog);
                Assert.AreEqual(daycare.DaycareCost, fromDb.DaycareCost);
                Assert.AreEqual(daycare.User, fromDb.User);
            }

            repository.Remove(daycare);
        }
        private void DeleteInitialData()
        {
            IDaycareRepository daycareRepository = new DaycareRepository();
            foreach (var daycare in _daycares)
            {
                Daycare fromDb = daycareRepository.GetById(daycare.DaycareId);
                if (fromDb != null)
                {
                    daycareRepository.Remove(daycare);
                }
            }

            IUserRepository userRepository = new UserRepository();
            userRepository.Remove(_user1);
            userRepository.Remove(_user2);

            IDogRepository dogRepository = new DogRepository();
            dogRepository.Remove(_dog1);
            dogRepository.Remove(_dog2);

            ICostRepository costRepository = new CostRepository();
            costRepository.Remove(_daycareCost);
        }
        public void Can_update_existing_daycare()
        {
            var daycare = _daycares[1];
            daycare.User = _user1;
            IDaycareRepository repository = new DaycareRepository();
            repository.Update(daycare);

            // use session to try to load the daycare
            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<Daycare>(daycare.DaycareId);
                Assert.AreEqual(daycare.User, fromDb.User);
            }
        }
        public void Can_remove_existing_daycare()
        {
            var daycare = _daycares[0];
            IDaycareRepository repository = new DaycareRepository();
            repository.Remove(daycare);

            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<Daycare>(daycare.DaycareId);
                Assert.IsNull(fromDb);
            }
        }
 public void Can_get_existing_daycare_by_id()
 {
     IDaycareRepository repository = new DaycareRepository();
     var fromDb = repository.GetById(_daycares[1].DaycareId);
     Assert.IsNotNull(fromDb);
     Assert.AreNotSame(_daycares[1], fromDb);
     Assert.AreEqual(_daycares[1].Date, fromDb.Date);
     Assert.AreEqual(_daycares[1].Dog, fromDb.Dog);
     Assert.AreEqual(_daycares[1].DaycareCost, fromDb.DaycareCost);
     Assert.AreEqual(_daycares[1].User, fromDb.User);
 }
        public void Can_get_existing_daycares_by_user_id()
        {
            IDaycareRepository repository = new DaycareRepository();
            var fromDb = repository.GetByUser(_daycares[1].User);

            Assert.AreEqual(2, fromDb.Count);
            Assert.IsTrue(IsInCollection(_daycares[1], fromDb));
        }