public void Party_add_throws_exception_on_new_address_test()
 {
     Facade facade = new Facade();
     Party par = MakeParty();
     par.Address = new Address();
     facade.PartyRepo().Add(par);
 }
 public void Party_add_throws_exception_on_new_customer_test()
 {
     Facade facade = new Facade();
     Party par = MakeParty();
     par.Customer = new Customer();
     facade.PartyRepo().Add(par);
 }
        public Party MakeParty()
        {
            Facade facade = new Facade();

            Ingredient ing1 = new Ingredient() { Name = "ing1", Price = 10 };
            Ingredient ing2 = new Ingredient() { Name = "ing2", Price = 12 };
            Ingredient ing3 = new Ingredient() { Name = "ing3", Price = 13 };
            Ingredient ing4 = new Ingredient() { Name = "ing4", Price = 15 };

            ing1 = facade.IngredientRepo().Add(ing1);
            ing2 = facade.IngredientRepo().Add(ing2);
            ing3 = facade.IngredientRepo().Add(ing3);
            ing4 = facade.IngredientRepo().Add(ing4);

            Dish dish1 = new Dish() { Description = "descrip 1", Name = "dish1", Status = 0, Ingredients = new List<Ingredient>() { ing1, ing2 } };
            Dish dish2 = new Dish() { Description = "descrip 2", Name = "dish2", Status = 1, Ingredients = new List<Ingredient>() { ing3, ing4 } };
            Dish dish3 = new Dish() { Description = "descrip 3", Name = "dish3", Status = 3, Ingredients = new List<Ingredient>() { ing1, ing2, ing3, ing4 } };

            dish1 = facade.DishRepo().Add(dish1);
            dish2 = facade.DishRepo().Add(dish2);
            dish3 = facade.DishRepo().Add(dish3);

            Menu menu = new Menu() { Dishes = new List<Dish> { dish1, dish2, dish3 }, Name = "menu1" };
            Menu menu2 = new Menu() { Dishes = new List<Dish> { dish1, dish2 }, Name = "menu2" };
            menu = facade.MenuRepo().Add(menu);
            menu2 = facade.MenuRepo().Add(menu2);

            Address address = new Address() { Country = "Denmark", StreetAddress = "Møbelvej 3", ZipCode = "6800" };
            Address address2 = new Address() { Country = "Denmark", StreetAddress = "gyvelunden 3", ZipCode = "6800" };
            address = facade.AddressRepo().Add(address);
            address2 = facade.AddressRepo().Add(address2);

            Customer cus = new Customer(){Address = address, Email = "*****@*****.**",FirstName = "Jonas",LastName = "Olesen",PhoneNumber = "22342312"};
            cus = facade.CustomerRepo().Add(cus);

            Party party = new Party()
            {
                Address = address2,
                Customer = cus,
                CreationDate = DateTime.Now.AddYears(-2),
                Description = "Description",
                FestNummer = "1",
                Menus = new List<Menu>() { menu, menu2 },
                UseDate = DateTime.Now.AddMonths(-1)
            };
            party = facade.PartyRepo().Add(party);
            return party;
        }
        public void Party_update_updates_properties_test()
        {
            Party par = MakeParty();
            Facade facade = new Facade();

            par.CreationDate = DateTime.Now;
            par.UseDate = DateTime.Now;
            par.FestNummer = "22";
            par.Description = "changed";

            facade.PartyRepo().Update(par);
            Assert.IsTrue(par.Equals(facade.PartyRepo().Get(par.Id)));
        }
 public void Party_update_throws_exception_on_updated_menu_test()
 {
     Facade facade = new Facade();
     Party par = MakeParty();
     par.Menus.FirstOrDefault().Name = "changed";
     facade.PartyRepo().Update(par);
 }
 public void Party_update_throws_exception_on_updated_customer_test()
 {
     Facade facade = new Facade();
     Party par = MakeParty();
     par.Customer.FirstName = "changed";
     facade.PartyRepo().Update(par);
 }
 public void Party_update_throws_exception_on_updated_address_test()
 {
     Facade facade = new Facade();
     Party par = MakeParty();
     par.Address.StreetAddress = "changed";
     facade.PartyRepo().Update(par);
 }
 public void Party_update_throws_exception_on_null_test()
 {
     Facade facade = new Facade();
     facade.PartyRepo().Update(null);
 }
 public void Party_get_includes_children_test()
 {
     Party par = MakeParty();
     Facade facade = new Facade();
     Assert.IsTrue(par.Equals(facade.PartyRepo().Get(par.Id)));
 }
 public void Party_add_throws_exception_on_new_menu_test()
 {
     Facade facade = new Facade();
     Party par = MakeParty();
     par.Menus.Add(new Menu());
     facade.PartyRepo().Add(par);
 }
 public void Party_update_new_customer_and_address_test()
 {
     Facade facade = new Facade();
     Party par = MakeParty();
     Address address = new Address() { Country = "Esbjerg", StreetAddress = "fisk 3", ZipCode = "6800" };
     address = facade.AddressRepo().Add(address);
     par.Address = address;
     Customer cus = new Customer() { Address = address, Email = "*****@*****.**", FirstName = "Jonas", LastName = "Olesen", PhoneNumber = "22342312" };
     cus = facade.CustomerRepo().Add(cus);
     par.Customer = cus;
     facade.PartyRepo().Update(par);
     Assert.IsTrue(par.Customer.Equals( facade.PartyRepo().Get(par.Id).Customer));
     Assert.IsTrue(par.Address.Equals( facade.PartyRepo().Get(par.Id).Address));
 }
 public void Party_update_adds_new_children_test()
 {
     Party par = MakeParty();
     Facade facade = new Facade();
     Menu temp = new Menu() { Name = "temp", Dishes = new List<Dish>() { par.Menus.FirstOrDefault().Dishes.FirstOrDefault() } };
     temp = facade.MenuRepo().Add(temp);
     par.Menus.Add(temp);
     facade.PartyRepo().Update(par);
     Assert.IsTrue(facade.PartyRepo().Get(par.Id).Menus.Any(x => x.Id == temp.Id));
 }
 public void Party_remove_throws_exception_on_none_existing_party_test()
 {
     Facade facade = new Facade();
     facade.PartyRepo().Remove(-1);
 }
 public void Party_remove_removes_from_db_test()
 {
     Party par = MakeParty();
     Facade facade = new Facade();
     facade.PartyRepo().Remove(par.Id);
     Assert.IsNull(facade.PartyRepo().Get(par.Id));
 }
 public void Party_remove_does_not_remove_children_test()
 {
     Party par = MakeParty();
     Facade facade = new Facade();
     facade.PartyRepo().Remove(par.Id);
     Assert.IsNotNull(facade.MenuRepo().Get(par.Menus.FirstOrDefault().Id));
     Assert.IsNotNull(facade.CustomerRepo().Get(par.Customer.Id));
     Assert.IsNotNull(facade.AddressRepo().Get(par.Address.Id));
 }
 public void Party_update_removes_deleted_children_test()
 {
     Party par = MakeParty();
     int menus = par.Menus.Count;
     Facade facade = new Facade();
     par.Menus.Remove(par.Menus.FirstOrDefault());
     facade.PartyRepo().Update(par);
     Assert.AreEqual(menus - 1, facade.PartyRepo().Get(par.Id).Menus.Count);
 }
 public void Party_update_returns_false_on_party_none_existing_test()
 {
     Facade facade = new Facade();
     facade.PartyRepo().Update(new Party());
 }
 public void Party_add_throws_exception_on_null_test()
 {
     Facade facade = new Facade();
     facade.PartyRepo().Add(null);
 }
 public void Party_getall_includes_children_test()
 {
     Party par = MakeParty();
     Facade facade = new Facade();
     Assert.IsTrue(par.Equals(facade.PartyRepo().GetAll().FirstOrDefault(x=> x.Id == par.Id)));
 }