Ejemplo n.º 1
0
        public void GetItems_WhenRequestWithTripleFilter_ReturnExpectedValues2()
        {
            var selectQuery = QueryBuilderUtilities.BuildSelectQuery("Contact", 10, 5);

            QueryBuilderUtilities.AddColumn(selectQuery, "Id");
            QueryBuilderUtilities.AddColumn(selectQuery, "Name");
            QueryBuilderUtilities.AddColumn(selectQuery, "Email");
            QueryBuilderUtilities.AddColumn(selectQuery, "Account");
            QueryBuilderUtilities.AddColumn(selectQuery, "Type");
            QueryBuilderUtilities.AddColumn(selectQuery, "ContactSource");
            QueryBuilderUtilities.AddColumn(selectQuery, "Phone");
            selectQuery.Filters.Items.Add("f1", QueryBuilderUtilities.CreateComparisonFilter("Account.ExactNoOfEmployees", FilterComparisonType.Greater, DataValueType.Integer, 20));
            selectQuery.Filters.Items.Add("f2", QueryBuilderUtilities.CreateComparisonFilter("Phone", FilterComparisonType.IsNull, DataValueType.Text));
            selectQuery.Filters.Items.Add("f3", QueryBuilderUtilities.CreateComparisonFilter("Account.AccountCategory", FilterComparisonType.Equal, DataValueType.Guid, "67c9e487-53fe-412d-800d-ff98c26f55a0"));

            MockExecutePostRequest(JsonConvert.SerializeObject(selectQuery),
                                   "{\"rowConfig\":{\"Id\":{\"dataValueType\":0},\"Name\":{\"dataValueType\":1},\"Email\":{\"dataValueType\":1},\"Account\":{\"dataValueType\":10,\"isLookup\":true,\"referenceSchemaName\":\"Account\",\"primaryImageColumnName\":\"AccountLogo\"},\"Type\":{\"dataValueType\":10,\"isLookup\":true,\"referenceSchemaName\":\"ContactType\"},\"ContactSource\":{\"dataValueType\":10,\"isLookup\":true,\"referenceSchemaName\":\"ContactSource\"},\"Phone\":{\"dataValueType\":1},\"Photo\":{\"dataValueType\":16,\"isLookup\":true,\"referenceSchemaName\":\"SysImage\"}},\"rows\":[{\"Name\":\"Tom Roemer\",\"Email\":\"[email protected]\",\"Account\":{\"value\":\"4c36ab2d-13ce-472e-8c19-0012d923045c\",\"displayValue\":\"British Columbia Institute of Technology\",\"primaryImageValue\":\"\"},\"Type\":\"\",\"ContactSource\":{\"value\":\"518131b3-aa8e-40b1-918c-28c3a0c54932\",\"displayValue\":\"Lead Extractor\",\"primaryImageValue\":\"\"},\"Phone\":\"\",\"Id\":\"58cc5766-2475-4029-8a91-2f4671fa4fd5\",\"Photo\":\"\"},{\"Name\":\"Thomas Tafoya\",\"Email\":\"[email protected]\",\"Account\":{\"value\":\"dff0dacb-3b29-4f13-b971-0736f9aae2bf\",\"displayValue\":\"Domino's Pizza\",\"primaryImageValue\":\"\"},\"Type\":\"\",\"ContactSource\":{\"value\":\"4e9993d1-010a-44c9-bf66-9fc6860835a9\",\"displayValue\":\"Lead Extractor\",\"primaryImageValue\":\"\"},\"Phone\":\"\",\"Id\":\"5787be75-1e86-465f-bea1-0c2ef895d079\",\"Photo\":\"\"},{\"Name\":\"Thomas Tafoya\",\"Email\":\"[email protected]\",\"Account\":{\"value\":\"dff0dacb-3b29-4f13-b971-0736f9aae2bf\",\"displayValue\":\"Domino's Pizza\",\"primaryImageValue\":\"\"},\"Type\":\"\",\"ContactSource\":{\"value\":\"4e9993d1-010a-44c9-bf66-9fc6860835a9\",\"displayValue\":\"Lead Extractor\",\"primaryImageValue\":\"\"},\"Phone\":\"\",\"Id\":\"c9502f64-2468-4d4a-a98d-d49784a7a5d3\",\"Photo\":\"\"},{\"Name\":\"Schrodel Alexander\",\"Email\":\"[email protected]\",\"Account\":{\"value\":\"94aa6dd8-f814-4eca-bb5d-07e2e9866677\",\"displayValue\":\"REHAU\",\"primaryImageValue\":\"\"},\"Type\":{\"value\":\"00783ef6-f36b-1410-a883-16d83cab0980\",\"displayValue\":\"Клиент\",\"primaryImageValue\":\"\"},\"ContactSource\":\"\",\"Phone\":\"\",\"Id\":\"24998437-9fb3-447d-af18-011c76d92841\",\"Photo\":\"\"},{\"Name\":\"Heldens Paul\",\"Email\":\"[email protected]\",\"Account\":{\"value\":\"94aa6dd8-f814-4eca-bb5d-07e2e9866677\",\"displayValue\":\"REHAU\",\"primaryImageValue\":\"\"},\"Type\":{\"value\":\"00783ef6-f36b-1410-a883-16d83cab0980\",\"displayValue\":\"Клиент\",\"primaryImageValue\":\"\"},\"ContactSource\":\"\",\"Phone\":\"\",\"Id\":\"49953bc3-85be-4b7b-ab03-54c4d8f7a511\",\"Photo\":\"\"},{\"Name\":\"Mundt Andreas\",\"Email\":\"[email protected]\",\"Account\":{\"value\":\"94aa6dd8-f814-4eca-bb5d-07e2e9866677\",\"displayValue\":\"REHAU\",\"primaryImageValue\":\"\"},\"Type\":{\"value\":\"00783ef6-f36b-1410-a883-16d83cab0980\",\"displayValue\":\"Клиент\",\"primaryImageValue\":\"\"},\"ContactSource\":\"\",\"Phone\":\"\",\"Id\":\"4170fff7-1c9a-4234-90db-ad521e797d94\",\"Photo\":\"\"},{\"Name\":\"Marquardt Klaus\",\"Email\":\"[email protected]\",\"Account\":{\"value\":\"94aa6dd8-f814-4eca-bb5d-07e2e9866677\",\"displayValue\":\"REHAU\",\"primaryImageValue\":\"\"},\"Type\":{\"value\":\"00783ef6-f36b-1410-a883-16d83cab0980\",\"displayValue\":\"Клиент\",\"primaryImageValue\":\"\"},\"ContactSource\":\"\",\"Phone\":\"\",\"Id\":\"1f43c9c7-d587-4182-a972-afe84c52a5b4\",\"Photo\":\"\"},{\"Name\":\"Frederik Boesch\",\"Email\":\"[email protected]\",\"Account\":{\"value\":\"94aa6dd8-f814-4eca-bb5d-07e2e9866677\",\"displayValue\":\"REHAU\",\"primaryImageValue\":\"\"},\"Type\":\"\",\"ContactSource\":{\"value\":\"518131b3-aa8e-40b1-918c-28c3a0c54932\",\"displayValue\":\"Lead Extractor\",\"primaryImageValue\":\"\"},\"Phone\":\"\",\"Id\":\"35dfa216-8ff6-48ed-90f5-da6deda4d500\",\"Photo\":\"\"},{\"Name\":\"Rob Frey\",\"Email\":\"[email protected]\",\"Account\":{\"value\":\"193b8158-a4b3-4f24-b1d9-087aacb96d10\",\"displayValue\":\"PharMEDium Healthcare\",\"primaryImageValue\":\"\"},\"Type\":\"\",\"ContactSource\":{\"value\":\"518131b3-aa8e-40b1-918c-28c3a0c54932\",\"displayValue\":\"Lead Extractor\",\"primaryImageValue\":\"\"},\"Phone\":\"\",\"Id\":\"3f30d597-f4e5-427f-af87-5caf95aba1ef\",\"Photo\":\"\"},{\"Name\":\"Jim Mcmahon\",\"Email\":\"[email protected]\",\"Account\":{\"value\":\"193b8158-a4b3-4f24-b1d9-087aacb96d10\",\"displayValue\":\"PharMEDium Healthcare\",\"primaryImageValue\":\"\"},\"Type\":\"\",\"ContactSource\":{\"value\":\"518131b3-aa8e-40b1-918c-28c3a0c54932\",\"displayValue\":\"Lead Extractor\",\"primaryImageValue\":\"\"},\"Phone\":\"\",\"Id\":\"b69ae191-fa93-4f69-abb8-dc5a3e87232b\",\"Photo\":\"\"}],\"notFoundColumns\":[],\"rowsAffected\":10,\"nextPrcElReady\":false,\"success\":true}"
                                   );
            var response = _remoteDataProvider.GetItems(selectQuery);

            Assert.IsTrue(response.Success);
            Assert.AreEqual(10, response.Items.Count);
            Assert.IsTrue(response.Items.All(x => (Guid)x["Id"] != Guid.Empty));
            Assert.IsTrue(response.Items.All(x => !string.IsNullOrEmpty(x["Name"].ToString())));
            Assert.IsTrue(response.Items.All(x => x.Count == 7));
        }
Ejemplo n.º 2
0
        public void GetItems_WhenRequestWithFilterFilter_ReturnExpectedValues2()
        {
            var selectQuery = QueryBuilderUtilities.BuildSelectQuery("Contact", 10, 5);

            QueryBuilderUtilities.AddColumn(selectQuery, "Id");
            QueryBuilderUtilities.AddColumn(selectQuery, "Name");
            selectQuery.Filters.Items.Add("f1", QueryBuilderUtilities.CreateComparisonFilter("Id", FilterComparisonType.Equal, DataValueType.Guid, "410006e1-ca4e-4502-a9ec-e54d922d2c00"));

            MockExecutePostRequest(JsonConvert.SerializeObject(selectQuery),
                                   "{\"rowConfig\":{\"Id\":{\"dataValueType\":0},\"Name\":{\"dataValueType\":1},\"Photo\":{\"dataValueType\":16,\"isLookup\":true,\"referenceSchemaName\":\"SysImage\"}},\"rows\":[{\"Id\":\"410006e1-ca4e-4502-a9ec-e54d922d2c00\",\"Name\":\"Supervisor\",\"Photo\":\"\"}],\"notFoundColumns\":[],\"rowsAffected\":1,\"nextPrcElReady\":false,\"success\":true}"
                                   );
            var response = _remoteDataProvider.GetItems(selectQuery);

            Assert.IsTrue(response.Success);
            Assert.AreEqual(1, response.Items.Count);
            Assert.AreEqual(new Guid("410006e1-ca4e-4502-a9ec-e54d922d2c00"), response.Items.First()["Id"]);
            Assert.AreEqual("Supervisor", response.Items.First()["Name"]);
            Assert.AreEqual(2, response.Items.First().Count);
        }