Ejemplo n.º 1
0
        public void TestGetFormData()
        {
            var employeeType = CodeNameResolver.GetTypeByName("AA_Employee").As <EntityType>();
            var employeeForm = employeeType.DefaultEditForm;
            var employee     = Entity.GetInstancesOfType(employeeType).FirstOrDefault();

            using (var request = new PlatformHttpRequest(@"data/v1/form/data", PlatformHttpMethod.Post))
            {
                FormDataRequest formDataRequest = new FormDataRequest
                {
                    FormId   = employeeForm.Id.ToString(),
                    EntityId = employee.Id.ToString(),
                    Query    = "name, description"
                };

                request.PopulateBody(formDataRequest);

                HttpWebResponse response = request.GetResponse();

                var formDataResponse = request.DeserialiseResponseBody <FormDataResponse>();

                Assert.IsNotNull(formDataResponse);

                // check that it worked (200)
                Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK));
            }
        }
        public void FormDataRequest_constructs_the_correct_UrlPath_for_forms()
        {
            var req = new FormDataRequest("Mediflex", "DEV", "csv", "DM");

            Assert.AreEqual("studies/Mediflex(DEV)/datasets/DM.csv", req.UrlPath());

            var req2 = new FormDataRequest("Mediflex", "DEV", "xml", "DM");

            Assert.AreEqual("studies/Mediflex(DEV)/datasets/DM", req2.UrlPath());
        }
        public void GetFormData_InvalidEntityRequest()
        {
            var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>());

            var request = new FormDataRequest
            {
                EntityId = "-100",
                Query    = "name, description"
            };

            var response = handler.GetFormData(request);

            Assert.IsNull(response);
        }
        public void GetFormData_NoVisCalculation()
        {
            // Create a form with the name and description controls depending on each other
            var testState = CreateTestEntities(null, null, "name", "description");

            var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>());

            var request = new FormDataRequest
            {
                FormId   = testState.EditForm.Id.ToString(),
                EntityId = testState.Instance.Id.ToString(),
                Query    = "name, description"
            };

            var response = handler.GetFormData(request);

            Assert.IsNull(response.InitiallyHiddenControls);
            Assert.IsTrue(response.FormDataEntity.Entities.ContainsKey(testState.Instance.Id));
        }
        public void GetFormData_NonBoolVisCalculation()
        {
            var testState = CreateTestEntities("[Description]", null, "name", "description");

            var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>());

            var request = new FormDataRequest
            {
                FormId   = testState.EditForm.Id.ToString(),
                EntityId = testState.Instance.Id.ToString(),
                Query    = "name, description"
            };

            var response = handler.GetFormData(request);

            Assert.AreEqual(1, response.InitiallyHiddenControls.Count);
            Assert.IsTrue(response.InitiallyHiddenControls.Contains(testState.NameControl.Id));
            Assert.IsTrue(response.FormDataEntity.Entities.ContainsKey(testState.Instance.Id));
        }
        public void ValidateRequest_InvalidRequest(string entityId, string formId, string query, bool expectedResult,
                                                   string errorMessageContains)
        {
            var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>());

            var request = new FormDataRequest {
                EntityId = entityId, FormId = formId, Query = query
            };
            string message;
            var    result = handler.ValidateRequest(request, out message);

            Assert.AreEqual(expectedResult, result, "The validation result is invalid");
            if (!expectedResult)
            {
                Assert.IsTrue(message.Contains(errorMessageContains), "The error message is incorrect.");
            }
            else
            {
                Assert.IsTrue(string.IsNullOrWhiteSpace(message));
            }
        }