Ejemplo n.º 1
0
        public void TestValidateFailRefParameter() {
            var controller = new AjaxController();
            new ContextMocks(controller);

            Store store = NakedObjectsContext.ObjectPersistor.Instances<Store>().First();
            Vendor vendor = NakedObjectsContext.ObjectPersistor.Instances<Vendor>().First();
            const string actionName = "CreateNewOrder";
            const string parameterName = "customer";

            string id = FrameworkHelper.GetObjectId(store);
            string value = FrameworkHelper.GetObjectId(vendor);

            JsonResult result = controller.ValidateParameter(id, value, actionName, parameterName);
            Assert.AreEqual("Not a suitable type; must be a Customer", result.Data);
        }
        public void SetupTest() {
            InitializeNakedObjectsFramework(this);

            StartTest();
            //var mockMessageBroker = new Mock<IMessageBrokerSurface>().Object;

            controller = new AjaxController(Surface, new IdHelper());
            mocks = new ContextMocks(controller);
        }
        public void TestJsonpDefaults() {
            const string data = "testData";
            var mockSurface = new Mock<IFrameworkFacade>().Object;
            //var mockMessageBroker = new Mock<IMessageBrokerSurface>().Object;

            AjaxControllerImpl.JsonpResult jsonpResult = new AjaxController(mockSurface, null).Jsonp(data);

            var mockControllerContext = new Mock<ControllerContext>();
            var mockHttpContext = new Mock<HttpContextBase>();
            var mockResponse = new Mock<HttpResponseBase>();
            var mockRequest = new Mock<HttpRequestBase>();

            mockControllerContext.Setup(x => x.HttpContext).Returns(mockHttpContext.Object);
            mockHttpContext.Setup(x => x.Response).Returns(mockResponse.Object);
            mockHttpContext.Setup(x => x.Request).Returns(mockRequest.Object);
            mockRequest.Setup(x => x.Params).Returns(new NameValueCollection {{"callback", "testCallbackValue"}});

            jsonpResult.ExecuteResult(mockControllerContext.Object);

            mockResponse.Verify(x => x.Write("testCallbackValue(\"testData\")"));
            mockResponse.VerifySet(x => x.ContentType = "application/json");
        }
Ejemplo n.º 4
0
        public void TestGetPropertyChoicesOtherValue() {
            var controller = new AjaxController();
            var mocks = new ContextMocks(controller);

            INakedObject choicesRepo = FrameworkHelper.GetAdaptedService("ChoicesRepository");
            object choicesObject = choicesRepo.GetDomainObject<ChoicesRepository>().GetChoicesObject();


            string id = FrameworkHelper.GetObjectId(choicesObject);

            const string parm1Id = "ChoicesObject-Name-Input0";
            const string parm2Id = "ChoicesObject-AProperty-Input0";

            mocks.Request.Setup(x => x.Params).Returns(new NameValueCollection { { parm1Id, "AName" }, { parm2Id, "" } });

            JsonResult result = controller.GetPropertyChoices(id);
            Assert.IsInstanceOf(typeof(IDictionary<string, string[][]>), result.Data);

            var dict = result.Data as IDictionary<string, string[][]>;

            Assert.AreEqual(1, dict.Count);
            Assert.IsTrue(dict.ContainsKey("ChoicesObject-AProperty-Input"));

            Assert.IsTrue(dict["ChoicesObject-AProperty-Input"][0].SequenceEqual(new[] {"AName-A", "AName-B" }));
            Assert.IsTrue(dict["ChoicesObject-AProperty-Input"][1].SequenceEqual(new[] { "AName-A", "AName-B" }));

        }
Ejemplo n.º 5
0
        public void TestGetActionChoicesOtherParmsMultipleMultiSelect(string value) {
            var controller = new AjaxController();
            var mocks = new ContextMocks(controller);

            INakedObject choicesRepo = FrameworkHelper.GetAdaptedService("ChoicesRepository");

            const string actionName = "AnActionMultiple";

            string id = FrameworkHelper.GetObjectId(choicesRepo);

            const string parm1Id0 = "ChoicesRepository-AnActionMultiple-Parm1-Select0";
            const string parm1Id1 = "ChoicesRepository-AnActionMultiple-Parm1-Select1";
            const string parm2Id = "ChoicesRepository-AnActionMultiple-Parm2-Select0";
            const string parm3Id = "ChoicesRepository-AnActionMultiple-Parm3-Select0";

            mocks.Request.Setup(x => x.Params).Returns(new NameValueCollection { { parm1Id0, value + value }, { parm1Id1, value }, { parm2Id, "" }, { parm3Id, "" } });

            JsonResult result = controller.GetActionChoices(id, actionName);
            Assert.IsInstanceOf(typeof(IDictionary<string, string[][]>), result.Data);

            var dict = result.Data as IDictionary<string, string[][]>;

            Assert.AreEqual(2, dict.Count);
            Assert.IsTrue(dict.ContainsKey("ChoicesRepository-AnActionMultiple-Parm1-Select"));
            Assert.IsTrue(dict.ContainsKey("ChoicesRepository-AnActionMultiple-Parm2-Select"));

            Assert.IsTrue(dict["ChoicesRepository-AnActionMultiple-Parm1-Select"][0].SequenceEqual(new[] { "value1", "value2" }));
            Assert.IsTrue(dict["ChoicesRepository-AnActionMultiple-Parm2-Select"][0].SequenceEqual(new[] { value + value + "postfix1", value + "postfix2" }));

            Assert.IsTrue(dict["ChoicesRepository-AnActionMultiple-Parm1-Select"][1].SequenceEqual(new[] { "value1", "value2" }));
            Assert.IsTrue(dict["ChoicesRepository-AnActionMultiple-Parm2-Select"][1].SequenceEqual(new[] { value + value + "postfix1", value + "postfix2" }));
        }
Ejemplo n.º 6
0
        public void TestGetPropertyAutoComplete() {
            var controller = new AjaxController();
            var mocks = new ContextMocks(controller);

            INakedObject autoCompleteRepo = FrameworkHelper.GetAdaptedService("AutoCompleteRepository");
            object autoCompleteObject = autoCompleteRepo.GetDomainObject<AutoCompleteRepository>().GetAutoCompleteObject();

            string id = FrameworkHelper.GetObjectId(autoCompleteObject);

            const string parm1Id = "AutoCompleteObject-Name-Input";
            
            mocks.Request.Setup(x => x.Params).Returns(new NameValueCollection { { parm1Id, "" } });

            JsonResult result = controller.GetPropertyCompletions(id, "AProperty", "");
       
            var list = result.Data as IList<object>;

            Assert.AreEqual(2, list.Count);

            var nv1 = new RouteValueDictionary(list[0]);
            var nv2 = new RouteValueDictionary(list[1]);

            Assert.AreEqual("value5", nv1["label"]);
            Assert.AreEqual("value5", nv1["value"]);
            Assert.AreEqual("value5", nv1["link"]);
            Assert.AreEqual("/Images/Default.png", nv1["src"]);
            Assert.AreEqual("String", nv1["alt"]);

            Assert.AreEqual("value6", nv2["label"]);
            Assert.AreEqual("value6", nv2["value"]);
            Assert.AreEqual("value6", nv2["link"]);
            Assert.AreEqual("/Images/Default.png", nv2["src"]);
            Assert.AreEqual("String", nv1["alt"]);
        }
Ejemplo n.º 7
0
        public void TestJsonp() {
      
            const string data = "testData";

            AjaxControllerImpl.JsonpResult jsonpResult = new AjaxController().Jsonp(data, "application/json", Encoding.UTF8);

            var mockControllerContext = new Mock<ControllerContext>();
            var mockHttpContext = new Mock<HttpContextBase>();
            var mockResponse = new Mock<HttpResponseBase>();
            var mockRequest = new Mock<HttpRequestBase>(); 

            mockControllerContext.Setup(x => x.HttpContext).Returns(mockHttpContext.Object);
            mockHttpContext.Setup(x => x.Response).Returns(mockResponse.Object);
            mockHttpContext.Setup(x => x.Request).Returns(mockRequest.Object);
            mockRequest.Setup(x => x.Params).Returns(new NameValueCollection() {{"callback", "testCallbackValue"}});
           
            jsonpResult.ExecuteResult(mockControllerContext.Object);

            mockResponse.Verify(x => x.Write("testCallbackValue(\"testData\")"));
            mockResponse.VerifySet(x => x.ContentType = "application/json");
            mockResponse.VerifySet(x => x.ContentEncoding = Encoding.UTF8);
        }
Ejemplo n.º 8
0
        public void TestGetActionAutoComplete() {
            var controller = new AjaxController();
            var mocks = new ContextMocks(controller);

            INakedObject autoCompleteRepo = FrameworkHelper.GetAdaptedService("AutoCompleteRepository");

            const string actionName = "AnAction";

            string id = FrameworkHelper.GetObjectId(autoCompleteRepo);

            const string parm1Id = "AutoCompleteRepository-AnAction-name-Input";
        
            mocks.Request.Setup(x => x.Params).Returns(new NameValueCollection { { parm1Id, "" } });

            JsonResult result = controller.GetActionCompletions(id, actionName, 0, "avalue");
            Assert.IsInstanceOf(typeof(List<object>), result.Data);

            var list = result.Data as IList<object>;

            Assert.AreEqual(2, list.Count);

            var nv1 = new RouteValueDictionary(list[0]);
            var nv2 = new RouteValueDictionary(list[1]);

            Assert.AreEqual("value1", nv1["label"]);
            Assert.AreEqual("value1", nv1["value"]);
            Assert.AreEqual("value1", nv1["link"]);
            Assert.AreEqual("/Images/Default.png", nv1["src"]);
            Assert.AreEqual("String", nv1["alt"]);

            Assert.AreEqual("value2", nv2["label"]);
            Assert.AreEqual("value2", nv2["value"]);
            Assert.AreEqual("value2", nv2["link"]);
            Assert.AreEqual("/Images/Default.png", nv2["src"]);
            Assert.AreEqual("String", nv1["alt"]);

        }
Ejemplo n.º 9
0
        public void TestValidateOkValueProperty() {
            var controller = new AjaxController();
            var mocks = new ContextMocks(controller);

            Vendor vendor = NakedObjectsContext.ObjectPersistor.Instances<Vendor>().First();
            string uniqueActNum = Guid.NewGuid().ToString().Remove(14);
            string id = FrameworkHelper.GetObjectId(vendor);
            string value = uniqueActNum;
            const string propertyName = "AccountNumber";
            const string fieldId = "Vendor-AccountNumber-Input";
            mocks.Request.Setup(x => x.Params).Returns(new NameValueCollection {{fieldId, value}});

            JsonResult result = controller.ValidateProperty(id, null, propertyName);
            Assert.IsTrue((bool) result.Data);
        }
Ejemplo n.º 10
0
        public void TestValidateOkInlineValueProperty() {
            var controller = new AjaxController();
            var mocks = new ContextMocks(controller);

            TimePeriod timePeriod = NakedObjectsContext.ObjectPersistor.Instances<Shift>().First().Times;
            string id = FrameworkHelper.GetObjectId(timePeriod);
            string value = DateTime.Now.ToString();
            const string propertyName = "StartTime";
            const string fieldId = "Times-TimePeriod-StartTime-Input";
            mocks.Request.Setup(x => x.Params).Returns(new NameValueCollection { { fieldId, value } });

            JsonResult result = controller.ValidateProperty(id, null, propertyName);
            Assert.IsTrue((bool)result.Data);
        }
Ejemplo n.º 11
0
        public void TestValidateOkValueParameter() {
            var controller = new AjaxController();
            var mocks = new ContextMocks(controller);

            INakedObject contactRepo = FrameworkHelper.GetAdaptedService("ContactRepository");


            const string actionName = "FindContactByName";
            const string parameterName = "lastName";

            string id = FrameworkHelper.GetObjectId(contactRepo);
            const string value = "Bloggs";
            const string parmId = "ContactRepository-FindContactByName-LastName-Input";
            mocks.Request.Setup(x => x.Params).Returns(new NameValueCollection {{parmId, value}});

            JsonResult result = controller.ValidateParameter(id, null, actionName, parameterName);
            Assert.IsTrue((bool) result.Data);
        }
Ejemplo n.º 12
0
        public void TestValidateOkRefProperty() {
            var controller = new AjaxController();
            new ContextMocks(controller);

            Store store = NakedObjectsContext.ObjectPersistor.Instances<Store>().First();
            SalesPerson salesPerson = NakedObjectsContext.ObjectPersistor.Instances<SalesPerson>().First();

            string id = FrameworkHelper.GetObjectId(store);
            string value = FrameworkHelper.GetObjectId(salesPerson);
            const string propertyName = "SalesPerson";

            JsonResult result = controller.ValidateProperty(id, value, propertyName);
            Assert.IsTrue((bool) result.Data);
        }
Ejemplo n.º 13
0
        public void TestValidateOkRefParameter() {
            var controller = new AjaxController();
            new ContextMocks(controller);

            Store store = NakedObjectsContext.ObjectPersistor.Instances<Store>().First();
            const string actionName = "CreateNewOrder";
            const string parameterName = "customer";


            string id = FrameworkHelper.GetObjectId(store);
            string value = FrameworkHelper.GetObjectId(store);

            JsonResult result = controller.ValidateParameter(id, value, actionName, parameterName);
            Assert.IsTrue((bool) result.Data);
        }
Ejemplo n.º 14
0
        public void TestValidateFailValueProperty() {
            var controller = new AjaxController();
            var mocks = new ContextMocks(controller);

            Vendor vendor = NakedObjectsContext.ObjectPersistor.Instances<Vendor>().First();
            string id = FrameworkHelper.GetObjectId(vendor);
            const string value = "";
            const string propertyName = "AccountNumber";
            const string fieldId = "Vendor-AccountNumber-Input";
            mocks.Request.Setup(x => x.Params).Returns(new NameValueCollection {{fieldId, value}});

            JsonResult result = controller.ValidateProperty(id, null, propertyName);
            Assert.AreEqual("Mandatory", result.Data);
        }
Ejemplo n.º 15
0
        public void TestValidateFailRefProperty() {
            var controller = new AjaxController();
            new ContextMocks(controller);

            Store store = NakedObjectsContext.ObjectPersistor.Instances<Store>().First();
            Store store1 = NakedObjectsContext.ObjectPersistor.Instances<Store>().OrderBy(x => "").Skip(1).First();

            string id = FrameworkHelper.GetObjectId(store);
            string value = FrameworkHelper.GetObjectId(store1);
            const string propertyName = "SalesPerson";

            JsonResult result = controller.ValidateProperty(id, value, propertyName);
            Assert.AreEqual("Not a suitable type; must be a Sales Person", result.Data);
        }