public void Can_Perform_Delete_When_Assigned_To_Doc() { // Arrange var provider = new PetaPocoUnitOfWorkProvider(Logger); var unitOfWork = provider.GetUnitOfWork(); using (var templateRepository = CreateRepository(unitOfWork)) { var tagRepository = new TagRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of <ILogger>(), SqlSyntax); var contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of <ILogger>(), SqlSyntax, templateRepository); var contentRepo = new ContentRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of <ILogger>(), SqlSyntax, contentTypeRepository, templateRepository, tagRepository, Mock.Of <IContentSection>()); using (contentRepo) { var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage2", "Textpage"); var textpage = MockedContent.CreateSimpleContent(contentType); contentTypeRepository.AddOrUpdate(contentType); contentRepo.AddOrUpdate(textpage); unitOfWork.Commit(); var template = new Template("test", "test") { Content = @"<%@ Master Language=""C#"" %>" }; templateRepository.AddOrUpdate(template); unitOfWork.Commit(); textpage.Template = template; contentRepo.AddOrUpdate(textpage); unitOfWork.Commit(); // Act var templates = templateRepository.Get("test"); templateRepository.Delete(templates); unitOfWork.Commit(); // Assert Assert.IsNull(templateRepository.Get("test")); } } }