public void Can_Perform_Get_On_Repository()
        {
            // Arrange
            var provider = new PetaPocoUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current))
            {
                // Act
                var macro = repository.Get(1);

                // Assert
                Assert.That(macro, Is.Not.Null);
                Assert.That(macro.HasIdentity, Is.True);
                Assert.That(macro.Alias, Is.EqualTo("test1"));
                Assert.That(macro.CacheByPage, Is.EqualTo(false));
                Assert.That(macro.CacheByMember, Is.EqualTo(false));
                Assert.That(macro.ControlAssembly, Is.EqualTo("MyAssembly1"));
                Assert.That(macro.ControlType, Is.EqualTo("~/usercontrol/test1.ascx"));
                Assert.That(macro.DontRender, Is.EqualTo(true));
                Assert.That(macro.Name, Is.EqualTo("Test1"));
                Assert.That(macro.CacheDuration, Is.EqualTo(0));
                Assert.That(macro.ScriptPath, Is.EqualTo("~/views/macropartials/test1.cshtml"));
                Assert.That(macro.UseInEditor, Is.EqualTo(false));
                Assert.That(macro.XsltPath, Is.EqualTo("test1.xslt"));
            }


        }
        public void Can_Add_Remove_Macro_Properties()
        {
            // Arrange
            var provider   = new PetaPocoUnitOfWorkProvider(Logger);
            var unitOfWork = provider.GetUnitOfWork();

            using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of <ILogger>(), SqlSyntax))
            {
                var macro = new Macro("newmacro", "A new macro", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml");
                var prop1 = new MacroProperty("blah1", "New1", 4, "test.editor");
                var prop2 = new MacroProperty("blah2", "New2", 3, "test.editor");

                //add/remove a few to test the collection observable
                macro.Properties.Add(prop1);
                macro.Properties.Add(prop2);
                macro.Properties.Remove(prop1);
                macro.Properties.Remove("blah2");
                macro.Properties.Add(prop2);

                repository.AddOrUpdate(macro);
                unitOfWork.Commit();

                // Assert
                var result = repository.Get(macro.Id);

                Assert.AreEqual(1, result.Properties.Count());
                Assert.AreEqual("blah2", result.Properties.Single().Alias);
            }
        }
        public void Can_Perform_Get_On_Repository()
        {
            // Arrange
            var provider   = new PetaPocoUnitOfWorkProvider(Logger);
            var unitOfWork = provider.GetUnitOfWork();

            using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of <ILogger>(), SqlSyntax))
            {
                // Act
                var macro = repository.Get(1);

                // Assert
                Assert.That(macro, Is.Not.Null);
                Assert.That(macro.HasIdentity, Is.True);
                Assert.That(macro.Alias, Is.EqualTo("test1"));
                Assert.That(macro.CacheByPage, Is.EqualTo(false));
                Assert.That(macro.CacheByMember, Is.EqualTo(false));
                Assert.That(macro.ControlAssembly, Is.EqualTo("MyAssembly1"));
                Assert.That(macro.ControlType, Is.EqualTo("~/usercontrol/test1.ascx"));
                Assert.That(macro.DontRender, Is.EqualTo(true));
                Assert.That(macro.Name, Is.EqualTo("Test1"));
                Assert.That(macro.CacheDuration, Is.EqualTo(0));
                Assert.That(macro.ScriptPath, Is.EqualTo("~/views/macropartials/test1.cshtml"));
                Assert.That(macro.UseInEditor, Is.EqualTo(false));
                Assert.That(macro.XsltPath, Is.EqualTo("test1.xslt"));
            }
        }
        public void Can_Update_Property_For_Macro()
        {
            // Arrange
            var provider   = new PetaPocoUnitOfWorkProvider(Logger);
            var unitOfWork = provider.GetUnitOfWork();

            using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of <ILogger>(), SqlSyntax))
            {
                var macro = repository.Get(1);
                macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test"));
                repository.AddOrUpdate(macro);
                unitOfWork.Commit();

                //Act
                macro = repository.Get(1);
                macro.Properties["new1"].Name = "this is a new name";
                repository.AddOrUpdate(macro);
                unitOfWork.Commit();


                // Assert
                var result = repository.Get(1);
                Assert.AreEqual("new1", result.Properties.First().Alias);
                Assert.AreEqual("this is a new name", result.Properties.First().Name);
            }
        }
Example #5
0
        public void Can_Add_Remove_Macro_Properties()
        {
            // Arrange
            IScopeProvider provider = ScopeProvider;

            using (provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, _logger, ShortStringHelper);

                var macro = new Macro(ShortStringHelper, "newmacro", "A new macro", "~/views/macropartials/test1.cshtml");
                var prop1 = new MacroProperty("blah1", "New1", 4, "test.editor");
                var prop2 = new MacroProperty("blah2", "New2", 3, "test.editor");

                // add/remove a few to test the collection observable
                macro.Properties.Add(prop1);
                macro.Properties.Add(prop2);
                macro.Properties.Remove(prop1);
                macro.Properties.Remove("blah2");
                macro.Properties.Add(prop2);

                repository.Save(macro);

                // Assert
                IMacro result = repository.Get(macro.Id);

                Assert.AreEqual(1, result.Properties.Values.Count());
                Assert.AreEqual("blah2", result.Properties.Values.Single().Alias);
            }
        }
Example #6
0
        public void Can_Perform_Update_On_MacroRepository()
        {
            // Arrange
            var provider   = new FileUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current);
            var macro      = CreateMacro("updateMacro", "Update Macro");

            repository.AddOrUpdate(macro);
            unitOfWork.Commit();

            // Act
            var macro1 = repository.Get("updateMacro");

            macro1.Xslt = "/xslt/updateTestMacro.xslt";
            repository.AddOrUpdate(macro1);
            unitOfWork.Commit();

            var macro2 = repository.Get("updateMacro");

            // Assert
            Assert.That(macro2.CreateDate, Is.EqualTo(macro.CreateDate));
            //Assert.That(macro2.ModifiedDate, Is.GreaterThan(macro.ModifiedDate));
            Assert.That(macro2.Xslt, Is.EqualTo("/xslt/updateTestMacro.xslt"));
        }
Example #7
0
        public void Can_Perform_Update_On_Repository()
        {
            // Arrange
            var provider = TestObjects.GetScopeProvider(Logger);

            using (var scope = provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, Mock.Of <ILogger>());

                // Act
                var macro = repository.Get(2);
                macro.Name          = "Hello";
                macro.CacheDuration = 1234;
                macro.CacheByPage   = true;
                macro.CacheByMember = true;
                macro.DontRender    = false;
                macro.MacroSource   = "~/newpath.cshtml";
                macro.UseInEditor   = true;

                repository.Save(macro);

                var macroUpdated = repository.Get(2);

                // Assert
                Assert.That(macroUpdated, Is.Not.Null);
                Assert.That(macroUpdated.Name, Is.EqualTo("Hello"));
                Assert.That(macroUpdated.CacheDuration, Is.EqualTo(1234));
                Assert.That(macroUpdated.CacheByPage, Is.EqualTo(true));
                Assert.That(macroUpdated.CacheByMember, Is.EqualTo(true));
                Assert.That(macroUpdated.DontRender, Is.EqualTo(false));
                Assert.That(macroUpdated.MacroSource, Is.EqualTo("~/newpath.cshtml"));
                Assert.That(macroUpdated.UseInEditor, Is.EqualTo(true));
            }
        }
Example #8
0
    public void Can_Add_Property_For_Macro()
    {
        // Arrange
        var provider = ScopeProvider;

        using (provider.CreateScope())
        {
            var repository =
                new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, _logger, ShortStringHelper);

            var macro = repository.Get(1);
            macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test"));

            repository.Save(macro);

            // Assert
            Assert.Greater(macro.Properties.Values.First().Id, 0); // ensure id is returned
            var result = repository.Get(1);
            Assert.Greater(result.Properties.Values.First().Id, 0);
            Assert.AreEqual(1, result.Properties.Values.Count());
            Assert.AreEqual("new1", result.Properties.Values.First().Alias);
            Assert.AreEqual("New1", result.Properties.Values.First().Name);
            Assert.AreEqual(3, result.Properties.Values.First().SortOrder);
        }
    }
Example #9
0
        public void Can_Add_Remove_Macro_Properties()
        {
            // Arrange
            var provider = TestObjects.GetScopeProvider(Logger);

            using (var scope = provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, Mock.Of <ILogger>());

                var macro = new Macro("newmacro", "A new macro", "~/views/macropartials/test1.cshtml", MacroTypes.PartialView);
                var prop1 = new MacroProperty("blah1", "New1", 4, "test.editor");
                var prop2 = new MacroProperty("blah2", "New2", 3, "test.editor");

                //add/remove a few to test the collection observable
                macro.Properties.Add(prop1);
                macro.Properties.Add(prop2);
                macro.Properties.Remove(prop1);
                macro.Properties.Remove("blah2");
                macro.Properties.Add(prop2);

                repository.Save(macro);

                // Assert
                var result = repository.Get(macro.Id);

                Assert.AreEqual(1, result.Properties.Values.Count());
                Assert.AreEqual("blah2", result.Properties.Values.Single().Alias);
            }
        }
Example #10
0
        public void Can_Update_Property_For_Macro()
        {
            // Arrange
            var provider = TestObjects.GetScopeProvider(Logger);

            using (var scope = provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, Mock.Of <ILogger>());

                var macro = repository.Get(1);
                macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test"));
                repository.Save(macro);

                //Act
                macro = repository.Get(1);
                macro.Properties["new1"].Name = "this is a new name";
                repository.Save(macro);


                // Assert
                var result = repository.Get(1);
                Assert.AreEqual("new1", result.Properties.Values.First().Alias);
                Assert.AreEqual("this is a new name", result.Properties.Values.First().Name);
            }
        }
Example #11
0
        public void Can_Perform_Get_On_Repository()
        {
            // Arrange
            var provider = TestObjects.GetScopeProvider(Logger);

            using (var scope = provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, Mock.Of <ILogger>());

                // Act
                var macro = repository.Get(1);

                // Assert
                Assert.That(macro, Is.Not.Null);
                Assert.That(macro.HasIdentity, Is.True);
                Assert.That(macro.Alias, Is.EqualTo("test1"));
                Assert.That(macro.CacheByPage, Is.EqualTo(false));
                Assert.That(macro.CacheByMember, Is.EqualTo(false));
                Assert.That(macro.DontRender, Is.EqualTo(true));
                Assert.That(macro.Name, Is.EqualTo("Test1"));
                Assert.That(macro.CacheDuration, Is.EqualTo(0));
                Assert.That(macro.MacroSource, Is.EqualTo("~/views/macropartials/test1.cshtml"));
                Assert.That(macro.UseInEditor, Is.EqualTo(false));
            }
        }
        public void Can_Add_Property_For_Macro()
        {
            // Arrange
            var provider   = new PetaPocoUnitOfWorkProvider(Logger);
            var unitOfWork = provider.GetUnitOfWork();

            using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of <ILogger>(), SqlSyntax))
            {
                var macro = repository.Get(1);
                macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test"));

                repository.AddOrUpdate(macro);

                unitOfWork.Commit();

                // Assert
                Assert.Greater(macro.Properties.First().Id, 0); //ensure id is returned
                var result = repository.Get(1);
                Assert.Greater(result.Properties.First().Id, 0);
                Assert.AreEqual(1, result.Properties.Count());
                Assert.AreEqual("new1", result.Properties.First().Alias);
                Assert.AreEqual("New1", result.Properties.First().Name);
                Assert.AreEqual(3, result.Properties.First().SortOrder);
            }
        }
        public void Can_Instantiate_Repository()
        {
            // Arrange
            var provider = new FileUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();

            // Act
            var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current);

            // Assert
            Assert.That(repository, Is.Not.Null);
        }
Example #14
0
        public void Can_Instantiate_Repository()
        {
            // Arrange
            var provider   = new FileUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();

            // Act
            var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current);

            // Assert
            Assert.That(repository, Is.Not.Null);
        }
        public void TestInitialize()
        {
            _mockPackageRepo          = Substitute.For <PackageRepository>();
            _mockMacroRepo            = Substitute.For <MacroRepository>();
            _mockProfileRepo          = Substitute.For <MacroProfileRepository>();
            _mockUserRepo             = Substitute.For <UserRepository>();
            _mockReferenceProfileRepo = Substitute.For <ReferenceProfileRepository>();


            _mockContext = Substitute.For <IMacroContextDb>();
            _uow         = new UnitOfWork(_mockContext, _mockMacroRepo, _mockPackageRepo, _mockProfileRepo, _mockUserRepo, _mockReferenceProfileRepo);
        }
Example #16
0
        public void Can_Instantiate_Repository()
        {
            // Arrange
            var provider = TestObjects.GetScopeProvider(Logger);

            using (var scope = provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, Mock.Of <ILogger>());

                // Assert
                Assert.That(repository, Is.Not.Null);
            }
        }
        public void Can_Verify_Macro_File_Exists()
        {
            // Arrange
            var provider = new FileUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current);

            // Act
            bool exists = repository.Exists("testMacro");

            // Assert
            Assert.That(exists, Is.True);
        }
Example #18
0
        public void Can_Instantiate_Repository()
        {
            // Arrange
            IScopeProvider provider = ScopeProvider;

            using (provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, _logger, ShortStringHelper);

                // Assert
                Assert.That(repository, Is.Not.Null);
            }
        }
        public void Cant_Find_Macro_File()
        {
            // Arrange
            var provider = new FileUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current);

            // Act
            bool exists = repository.Exists("commentList");

            // Assert
            Assert.That(exists, Is.False);
        }
Example #20
0
        public void Can_Verify_Macro_File_Exists()
        {
            // Arrange
            var provider   = new FileUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current);

            // Act
            bool exists = repository.Exists("testMacro");

            // Assert
            Assert.That(exists, Is.True);
        }
Example #21
0
        public void Cant_Find_Macro_File()
        {
            // Arrange
            var provider   = new FileUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current);

            // Act
            bool exists = repository.Exists("commentList");

            // Assert
            Assert.That(exists, Is.False);
        }
        public void CreateTestData()
        {
            var provider = new PetaPocoUnitOfWorkProvider(Logger);

            using (var unitOfWork = provider.GetUnitOfWork())
                using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of <ILogger>(), SqlSyntax))
                {
                    repository.AddOrUpdate(new Macro("test1", "Test1", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml"));
                    repository.AddOrUpdate(new Macro("test2", "Test2", "~/usercontrol/test2.ascx", "MyAssembly2", "test2.xslt", "~/views/macropartials/test2.cshtml"));
                    repository.AddOrUpdate(new Macro("test3", "Tet3", "~/usercontrol/test3.ascx", "MyAssembly3", "test3.xslt", "~/views/macropartials/test3.cshtml"));
                    unitOfWork.Commit();
                }
        }
        public void Can_Instantiate_Repository()
        {
            // Arrange
            var provider   = new PetaPocoUnitOfWorkProvider(Logger);
            var unitOfWork = provider.GetUnitOfWork();

            // Act
            using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of <ILogger>(), SqlSyntax))
            {
                // Assert
                Assert.That(repository, Is.Not.Null);
            }
        }
        public void SetupTest()
        {
            IScopeProvider scopeProvider = ScopeProvider;

            using (IScope scope = scopeProvider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)scopeProvider, AppCaches.Disabled, Mock.Of <ILogger <MacroRepository> >(), ShortStringHelper);

                repository.Save(new Macro(ShortStringHelper, "test1", "Test1", "~/views/macropartials/test1.cshtml"));
                repository.Save(new Macro(ShortStringHelper, "test2", "Test2", "~/views/macropartials/test2.cshtml"));
                repository.Save(new Macro(ShortStringHelper, "test3", "Tet3", "~/views/macropartials/test3.cshtml"));
                scope.Complete();
            }
        }
Example #25
0
        public void Cannot_Add_Duplicate_Macros()
        {
            // Arrange
            var provider = TestObjects.GetScopeProvider(Logger);

            using (var scope = provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, Mock.Of <ILogger>());

                var macro = new Macro("test1", "Test", "~/views/macropartials/test.cshtml", MacroTypes.PartialView);

                Assert.Throws <SqlCeException>(() => repository.Save(macro));
            }
        }
Example #26
0
        public void CreateTestData()
        {
            var provider = TestObjects.GetScopeProvider(Logger);

            using (var scope = provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, Mock.Of <ILogger>());

                repository.Save(new Macro("test1", "Test1", "~/views/macropartials/test1.cshtml", MacroTypes.PartialView));
                repository.Save(new Macro("test2", "Test2", "~/views/macropartials/test2.cshtml", MacroTypes.PartialView));
                repository.Save(new Macro("test3", "Tet3", "~/views/macropartials/test3.cshtml", MacroTypes.PartialView));
                scope.Complete();
            }
        }
        public override void CreateTestData()
        {            
            base.CreateTestData();

            var provider = new PetaPocoUnitOfWorkProvider();
            using (var unitOfWork = provider.GetUnitOfWork())
            using (var repository = new MacroRepository(unitOfWork))
            {
                repository.AddOrUpdate(new Macro("test1", "Test1", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml"));
                repository.AddOrUpdate(new Macro("test2", "Test2", "~/usercontrol/test2.ascx", "MyAssembly2", "test2.xslt", "~/views/macropartials/test2.cshtml"));
                repository.AddOrUpdate(new Macro("test3", "Tet3", "~/usercontrol/test3.ascx", "MyAssembly3", "test3.xslt", "~/views/macropartials/test3.cshtml"));
                unitOfWork.Commit();
            }
        }
Example #28
0
        public void Cannot_Add_Duplicate_Macros()
        {
            // Arrange
            IScopeProvider provider = ScopeProvider;

            using (provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, _logger, ShortStringHelper);

                var macro = new Macro(ShortStringHelper, "test1", "Test", "~/views/macropartials/test.cshtml");

                Assert.That(() => repository.Save(macro), Throws.InstanceOf <DbException>());
            }
        }
Example #29
0
        public void CreateTestData()
        {
            IScopeProvider provider = ScopeProvider;

            using (IScope scope = provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, _logger, ShortStringHelper);

                repository.Save(new Macro(ShortStringHelper, "test1", "Test1", "~/views/macropartials/test1.cshtml"));
                repository.Save(new Macro(ShortStringHelper, "test2", "Test2", "~/views/macropartials/test2.cshtml"));
                repository.Save(new Macro(ShortStringHelper, "test3", "Tet3", "~/views/macropartials/test3.cshtml"));
                scope.Complete();
            }
        }
        public void Cannot_Update_To_Duplicate_Macro_Alias()
        {
            // Arrange
            var provider   = new PetaPocoUnitOfWorkProvider(Logger);
            var unitOfWork = provider.GetUnitOfWork();

            // Act
            using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of <ILogger>(), SqlSyntax))
            {
                var macro = repository.Get(1);
                macro.Alias = "test2";
                repository.AddOrUpdate(macro);
                Assert.Throws <SqlCeException>(unitOfWork.Commit);
            }
        }
        public void Can_Perform_GetAll_On_Repository()
        {
            // Arrange
            var provider   = new PetaPocoUnitOfWorkProvider(Logger);
            var unitOfWork = provider.GetUnitOfWork();

            using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of <ILogger>(), SqlSyntax))
            {
                // Act
                var macros = repository.GetAll();

                // Assert
                Assert.That(macros.Count(), Is.EqualTo(3));
            }
        }
        public void Cannot_Add_Duplicate_Macros()
        {
            // Arrange
            var provider   = new PetaPocoUnitOfWorkProvider(Logger);
            var unitOfWork = provider.GetUnitOfWork();

            // Act
            using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of <ILogger>(), SqlSyntax))
            {
                var macro = new Macro("test1", "Test", "~/usercontrol/blah.ascx", "MyAssembly", "test.xslt", "~/views/macropartials/test.cshtml");
                repository.AddOrUpdate(macro);

                Assert.Throws <SqlCeException>(unitOfWork.Commit);
            }
        }
Example #33
0
        public void Cannot_Update_To_Duplicate_Macro_Alias()
        {
            // Arrange
            IScopeProvider provider = ScopeProvider;

            using (provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, _logger, ShortStringHelper);

                IMacro macro = repository.Get(1);
                macro.Alias = "test2";

                Assert.That(() => repository.Save(macro), Throws.InstanceOf <DbException>());
            }
        }
Example #34
0
        public void Cannot_Update_To_Duplicate_Macro_Alias()
        {
            // Arrange
            var provider = TestObjects.GetScopeProvider(Logger);

            using (var scope = provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, Mock.Of <ILogger>());

                var macro = repository.Get(1);
                macro.Alias = "test2";

                Assert.Throws <SqlCeException>(() => repository.Save(macro));
            }
        }
Example #35
0
        public void Can_Perform_GetAll_On_Repository()
        {
            // Arrange
            var provider = TestObjects.GetScopeProvider(Logger);

            using (var scope = provider.CreateScope())
            {
                var repository = new MacroRepository((IScopeAccessor)provider, AppCaches.Disabled, Mock.Of <ILogger>());

                // Act
                var macros = repository.GetMany();

                // Assert
                Assert.That(macros.Count(), Is.EqualTo(3));
            }
        }
        public void Cannot_Update_To_Duplicate_Macro_Alias()
        {
            // Arrange
            var provider = new PetaPocoUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();

            // Act
            using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current))
            {
                var macro = repository.Get(1);
                macro.Alias = "test2";
                repository.AddOrUpdate(macro);
                Assert.Throws<SqlCeException>(unitOfWork.Commit);
            }

        }
        public void Cannot_Add_Duplicate_Macros()
        {
            // Arrange
            var provider = new PetaPocoUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();

            // Act
            using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current))
            {
                var macro = new Macro("test1", "Test", "~/usercontrol/blah.ascx", "MyAssembly", "test.xslt", "~/views/macropartials/test.cshtml");
                repository.AddOrUpdate(macro);

                Assert.Throws<SqlCeException>(unitOfWork.Commit);
            }

        }
        public void Can_Perform_Add_On_MacroRepository()
        {
            // Arrange
            var provider = new FileUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current);

            // Act
            var macro = new Macro { Alias = "testMacro", CacheByPage = false, CacheByMember = false, DontRender = true, Name = "Test Macro", Xslt = "/xslt/testMacro.xslt", UseInEditor = false };
            macro.Properties = new List<IMacroProperty>();
            macro.Properties.Add(new MacroProperty { Alias = "level", Name = "Level", SortOrder = 0, PropertyType = new Umbraco.Core.Macros.PropertyTypes.Number() });

            repository.AddOrUpdate(macro);
            unitOfWork.Commit();

            // Assert
            Assert.That(macro.CreateDate, Is.GreaterThan(DateTime.MinValue));
            Assert.That(macro.UpdateDate, Is.GreaterThan(DateTime.MinValue));
        }
        public void Can_Perform_Get_On_MacroRepository()
        {
            // Arrange
            var provider = new FileUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current);
            var macro = CreateMacro("getMacro", "Get Macro");
            repository.AddOrUpdate(macro);
            unitOfWork.Commit();

            // Act
            var unitOfWork2 = provider.GetUnitOfWork();
            var repository2 = new MacroRepository(unitOfWork2, NullCacheProvider.Current);
            var macro1 = repository2.Get("getMacro");

            // Assert
            Assert.That(macro1.CreateDate, Is.GreaterThan(DateTime.MinValue));
            Assert.That(macro1.UpdateDate, Is.GreaterThan(DateTime.MinValue));
            Assert.That(macro1.Name, Is.EqualTo("Get Macro"));
            Assert.That(macro1.Properties.Any(), Is.True);
            Assert.That(macro1.Properties.Count, Is.EqualTo(2));
        }
        public void Can_Perform_Delete_On_MacroRepository()
        {
            // Arrange
            var provider = new FileUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current);
            var macro = CreateMacro("deleteMacro", "Delete Macro");
            repository.AddOrUpdate(macro);
            unitOfWork.Commit();

            // Act
            repository.Delete(macro);
            unitOfWork.Commit();
            var exists = repository.Exists("deleteMacro");

            // Assert
            Assert.That(exists, Is.False);
        }
        public void Can_Perform_GetByQuery_On_Repository()
        {
            // Arrange
            var provider = new PetaPocoUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current))
            {
                // Act
                var query = Query<IMacro>.Builder.Where(x => x.Alias.ToUpper() == "TEST1");
                var result = repository.GetByQuery(query);

                // Assert
                Assert.AreEqual(1, result.Count());
            }
        }
        public void Can_Perform_Count_On_Repository()
        {
            // Arrange
            var provider = new PetaPocoUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current))
            {
                // Act
                var query = Query<IMacro>.Builder.Where(x => x.Name.StartsWith("Test"));
                int count = repository.Count(query);

                // Assert
                Assert.That(count, Is.EqualTo(2));
            }
        }
        public void Can_Perform_Add_On_Repository()
        {
            // Arrange
            var provider = new PetaPocoUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current))
            {
                // Act
                var macro = new Macro("test", "Test", "~/usercontrol/blah.ascx", "MyAssembly", "test.xslt", "~/views/macropartials/test.cshtml");
                macro.Properties.Add(new MacroProperty("test", "Test", 0, "test"));
                repository.AddOrUpdate(macro);
                unitOfWork.Commit();

                // Assert
                Assert.That(macro.HasIdentity, Is.True);
                Assert.That(macro.Id, Is.EqualTo(4));//With 3 existing entries the Id should be 4   
                Assert.Greater(macro.Properties.Single().Id, 0);
            }
        }
        public void Can_Perform_Update_On_Repository()
        {
            // Arrange
            var provider = new PetaPocoUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current))
            {
                // Act
                var macro = repository.Get(2);
                macro.Name = "Hello";
                macro.CacheDuration = 1234;
                macro.CacheByPage = true;
                macro.CacheByMember = true;
                macro.ControlAssembly = "";
                macro.ControlType = "";
                macro.DontRender = false;
                macro.ScriptPath = "~/newpath.cshtml";
                macro.UseInEditor = true;
                macro.XsltPath = "";

                repository.AddOrUpdate(macro);
                unitOfWork.Commit();

                var macroUpdated = repository.Get(2);

                // Assert
                Assert.That(macroUpdated, Is.Not.Null);
                Assert.That(macroUpdated.Name, Is.EqualTo("Hello"));
                Assert.That(macroUpdated.CacheDuration, Is.EqualTo(1234));
                Assert.That(macroUpdated.CacheByPage, Is.EqualTo(true));
                Assert.That(macroUpdated.CacheByMember, Is.EqualTo(true));
                Assert.That(macroUpdated.ControlAssembly, Is.EqualTo(""));
                Assert.That(macroUpdated.ControlType, Is.EqualTo(""));
                Assert.That(macroUpdated.DontRender, Is.EqualTo(false));
                Assert.That(macroUpdated.ScriptPath, Is.EqualTo("~/newpath.cshtml"));
                Assert.That(macroUpdated.UseInEditor, Is.EqualTo(true));
                Assert.That(macroUpdated.XsltPath, Is.EqualTo(""));
            }
        }
        public void Can_Add_Property_For_Macro()
        {
            // Arrange
            var provider = new PetaPocoUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current))
            {
                var macro = repository.Get(1);
                macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test"));
                
                repository.AddOrUpdate(macro);

                unitOfWork.Commit();

                // Assert
                Assert.Greater(macro.Properties.First().Id, 0); //ensure id is returned
                var result = repository.Get(1);
                Assert.Greater(result.Properties.First().Id, 0);
                Assert.AreEqual(1, result.Properties.Count());
                Assert.AreEqual("new1", result.Properties.First().Alias);
                Assert.AreEqual("New1", result.Properties.First().Name);
                Assert.AreEqual(3, result.Properties.First().SortOrder);
                
            }            
        }
        public void Can_Add_Remove_Macro_Properties()
        {
            // Arrange
            var provider = new PetaPocoUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current))
            {
                var macro = new Macro("newmacro", "A new macro", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml");
                var prop1 = new MacroProperty("blah1", "New1", 4, "test.editor");
                var prop2 = new MacroProperty("blah2", "New2", 3, "test.editor");

                //add/remove a few to test the collection observable
                macro.Properties.Add(prop1);
                macro.Properties.Add(prop2);
                macro.Properties.Remove(prop1);
                macro.Properties.Remove("blah2");
                macro.Properties.Add(prop2);
                
                repository.AddOrUpdate(macro);
                unitOfWork.Commit();

                // Assert
                var result = repository.Get(macro.Id);
                
                Assert.AreEqual(1, result.Properties.Count());
                Assert.AreEqual("blah2", result.Properties.Single().Alias);

            }
        }
        public void Can_Perform_GetAll_On_Repository()
        {
            // Arrange
            var provider = new PetaPocoUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current))
            {
                // Act
                var macros = repository.GetAll();

                // Assert
                Assert.That(macros.Count(), Is.EqualTo(3));
            }

        }
        public void Can_Remove_Macro_Property()
        {
            // Arrange
            var provider = new PetaPocoUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current))
            {
                var macro = new Macro("newmacro", "A new macro", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml");
                macro.Properties.Add(new MacroProperty("blah1", "New1", 4, "test.editor"));
                repository.AddOrUpdate(macro);
                unitOfWork.Commit();

                var result = repository.Get(macro.Id);
                result.Properties.Remove("blah1");
                repository.AddOrUpdate(result);
                unitOfWork.Commit();

                // Assert
                result = repository.Get(macro.Id);
                Assert.AreEqual(0, result.Properties.Count());
                
            }
        }
        public void Can_Perform_Exists_On_Repository()
        {
            // Arrange
            var provider = new PetaPocoUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current))
            {
                // Act
                var exists = repository.Exists(3);
                var doesntExist = repository.Exists(10);

                // Assert
                Assert.That(exists, Is.True);
                Assert.That(doesntExist, Is.False);
            }
        }
        public void Can_Perform_Delete_On_Repository()
        {
            // Arrange
            var provider = new PetaPocoUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current))
            {
                // Act
                var macro = repository.Get(3);
                Assert.IsNotNull(macro);
                repository.Delete(macro);
                unitOfWork.Commit();

                var exists = repository.Exists(3);

                // Assert
                Assert.That(exists, Is.False);
            }
        }
        public void Can_Perform_GetAll_On_MacroRepository()
        {
            // Arrange
            var provider = new FileUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current);

            // Act
            var macros = repository.GetAll();
            var list = macros.ToList();

            // Assert
            Assert.That(list.Any(), Is.True);
            Assert.That(list.Any(x => x == null), Is.False);
            Assert.That(list.Count(), Is.GreaterThan(1));
            Assert.That(list.Any(x => x.Alias == "getMacro"), Is.True);
            Assert.That(list.Any(x => x.Alias == "testMacro"), Is.True);
        }
        public void Can_Perform_Update_On_MacroRepository()
        {
            // Arrange
            var provider = new FileUnitOfWorkProvider();
            var unitOfWork = provider.GetUnitOfWork();
            var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current);
            var macro = CreateMacro("updateMacro", "Update Macro");
            repository.AddOrUpdate(macro);
            unitOfWork.Commit();

            // Act
            var macro1 = repository.Get("updateMacro");
            macro1.Xslt = "/xslt/updateTestMacro.xslt";
            repository.AddOrUpdate(macro1);
            unitOfWork.Commit();

            var macro2 = repository.Get("updateMacro");

            // Assert
            Assert.That(macro2.CreateDate, Is.EqualTo(macro.CreateDate));
            //Assert.That(macro2.ModifiedDate, Is.GreaterThan(macro.ModifiedDate));
            Assert.That(macro2.Xslt, Is.EqualTo("/xslt/updateTestMacro.xslt"));
        }