Example #1
0
        public void GetDisplayString()
        {
            MetaModel m     = Utils.CommonInitialize(true);
            var       route = RouteTable.Routes[0] as MyDynamicDataRoute;

            MetaTable t   = m.Tables[TestDataContext.TableFooWithDefaults];
            var       foo = new FooWithDefaults();

            Assert.AreEqual(String.Empty, t.GetDisplayString(null), "#A1");
            AssertExtensions.Throws <HttpException> (() => t.GetDisplayString(String.Empty), "#A2");
            Assert.AreEqual("hello", t.GetDisplayString(foo), "#A3");
            AssertExtensions.Throws <HttpException> (() => t.GetDisplayString("TestString"), "#A4");

            // The method looks at the entity type to see if it has an overriden ToString method,
            // it ignores such methods on the passed "row"
            var foo2 = new FooWithToString();

            Assert.AreEqual("hello", t.GetDisplayString(foo2), "#B1");

            t = m.Tables[TestDataContext.TableFooWithToString];
            Assert.AreEqual("ValueFrom_ToString", t.GetDisplayString(foo2), "#C1");

            // If we pass an object which is not of EntityType,
            // the method returns the result of row.ToString ()
            Assert.AreEqual(foo.GetType().ToString(), t.GetDisplayString(foo), "#C2");

            var foo3 = new FooNoDefaultsWithPrimaryKey();

            t = m.Tables[TestDataContext.TableFooNoDefaultsWithPrimaryKey];
            Assert.AreEqual(String.Empty, t.GetDisplayString(foo3), "#D1");
        }
Example #2
0
        public void GetPrimaryKeyString_Row()
        {
            MetaModel m     = Utils.CommonInitialize(true);
            var       route = RouteTable.Routes[0] as MyDynamicDataRoute;

            MetaTable t   = m.Tables[TestDataContext.TableFooWithDefaults];
            var       foo = new FooWithDefaults();

            Assert.AreEqual(String.Empty, t.GetPrimaryKeyString((object)null), "#A1");
            Assert.AreEqual("primary key value,456,True", t.GetPrimaryKeyString(foo), "#A2");

            var foo2 = new FooNoDefaultsWithPrimaryKey();

            AssertExtensions.Throws <HttpException> (() => t.GetPrimaryKeyString(foo2), "#B1");

            t = m.Tables[TestDataContext.TableFooSettableDefaults];
            var foo3 = new FooSettableDefaults(null, null, null);

            Assert.AreEqual(String.Empty, t.GetPrimaryKeyString(foo3), "#C1");

            foo3 = new FooSettableDefaults(null, String.Empty, null);
            Assert.AreEqual(",,", t.GetPrimaryKeyString(foo3), "#C2");

            foo3 = new FooSettableDefaults(String.Empty, null, null);
            Assert.AreEqual(",,", t.GetPrimaryKeyString(foo3), "#C2");
        }
Example #3
0
        public void GetActionPath_Action_Row()
        {
            MetaModel m     = Utils.CommonInitialize(true);
            var       route = RouteTable.Routes[0] as MyDynamicDataRoute;

            MetaTable t = m.Tables[TestDataContext.TableFooWithDefaults];

            var foo = new FooWithDefaults();

            Assert.AreEqual(String.Empty, t.GetActionPath(null, (object)null), "#A1");
            AssertExtensions.Throws <HttpException> (() => t.GetActionPath(PageAction.Details, (object)"test"), "#A2");
            Assert.AreEqual(Utils.BuildActionName(t, PageAction.Details, "PrimaryKeyColumn1=primary%20key%20value&PrimaryKeyColumn2=456&PrimaryKeyColumn3=True"), t.GetActionPath(PageAction.Details, foo), "#A3");

            t = m.Tables[TestDataContext.TableFooNoDefaultsWithPrimaryKey];
            var foo2 = new FooNoDefaultsWithPrimaryKey();

            route.GetVirtualPathCalled = false;
            Assert.AreEqual(Utils.BuildActionName(t, PageAction.Details), t.GetActionPath(PageAction.Details, foo2), "#B1");
            Assert.AreEqual(true, route.GetVirtualPathCalled, "#B1-1");
            Assert.AreEqual(3, route.GetVirtualPathValues.Count, "#B1-2");

            route.GetVirtualPathCalled = false;
            foo2.PrimaryKeyColumn1     = String.Empty;
            Assert.AreEqual(Utils.BuildActionName(t, PageAction.Details), t.GetActionPath(PageAction.Details, foo2), "#C1");
            Assert.AreEqual(true, route.GetVirtualPathCalled, "#C1-1");
            Assert.AreEqual(3, route.GetVirtualPathValues.Count, "#C1-2");

            route.GetVirtualPathCalled = false;
            foo2.PrimaryKeyColumn1     = "SomeValue";
            Assert.AreEqual(Utils.BuildActionName(t, PageAction.Details, "PrimaryKeyColumn1=SomeValue"), t.GetActionPath(PageAction.Details, foo2), "#D1");
            Assert.AreEqual(true, route.GetVirtualPathCalled, "#D1-1");
            Assert.AreEqual(3, route.GetVirtualPathValues.Count, "#D1-2");
        }