public void GivenACategory_WhenUpdate_ThenContextSetsModified()
        {
            var expected = new Category { Id = 1 };

            Target.Update(expected);

            MockContext.AssertWasCalled(m => m.SetModified(expected));
        }
        public void GivenACategory_WhenRemove_ThenRemoveFromContext()
        {
            var item = new Category { Id = 1 };

            Target.Remove(item);

            MockDbSet.AssertWasCalled(m => m.Remove(item));
        }
        public void GivenACategory_WhenAdd_ThenAddToContext()
        {
            var expected = new Category { Id = 1 };

            Target.Add(expected);

            MockDbSet.AssertWasCalled(m => m.Add(expected));
        }
        public void GivenAnUnassociatedServiceTypeAndCategory_WhenAddLink_ThenTheyAreAssociated()
        {
            ServiceType serviceType = new ServiceType();
            Category category = new Category();

            Target.AddLink(serviceType, category);

            CollectionAssert.Contains(serviceType.Categories.ToList(), category);
            CollectionAssert.Contains(category.ServiceTypes.ToList(), serviceType);
        }
        public void GivenAnAssociatedServiceTypeAndCategory_WhenDeleteLink_TheyAreNoLongerAssociated()
        {
            ServiceType serviceType = new ServiceType();
            Category category = new Category { ServiceTypes = new List<ServiceType> { serviceType } };
            serviceType.Categories.Add(category);

            Target.DeleteLink(serviceType, category);

            CollectionAssert.DoesNotContain(serviceType.Categories.ToList(), category);
            CollectionAssert.DoesNotContain(category.ServiceTypes.ToList(), serviceType);
        }
 public void DeleteLink(ServiceType serviceType, Category category)
 {
     if (serviceType == null)
     {
         throw new ArgumentNullException("serviceType");
     }
     if (category == null)
     {
         throw new ArgumentNullException("category");
     }
     serviceType.Categories.Remove(category);
     category.ServiceTypes.Remove(serviceType);
 }
 public void Update(Category item)
 {
     Context.SetModified(item);
 }
 public void Remove(Category item)
 {
     Context.Categories.Remove(item);
 }
 public void Add(Category item)
 {
     Context.Categories.Add(item);
 }
        public void GivenNullServiceType_WhenDeleteLink_ThenThrowException()
        {
            Category category = new Category();

            Target.ExpectException<ArgumentNullException>(() => Target.DeleteLink(null, category));
        }