コード例 #1
0
        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"));
                }
            }
        }