public void TestComposeQuery_WithParameters() { // const string query = @"query Dashboard($param1: String!, $param2: String!, $param3: String!, $param4: String!) { chart1: TempsPassesParJour(startDate: $param1, endDate: $param2) { label value } chart2: TempsPassesParDossier(startDate: $param3, endDate: $param4) { label value } }"; // var chart1Query = new QueryBuilder(isCompose: true) .WithAction(new QueryActionBuilder("TempsPassesParJour") .WithParameter(new Parameter <string>("startDate", "01/10/2018", "param1")) .WithParameter(new Parameter <string>("endDate", "17/10/2018", "param2")) .WithField(new NodeField("label")) .WithField(new NodeField("value"))); // var chart2Query = new QueryBuilder(isCompose: true) .WithAction(new QueryActionBuilder("TempsPassesParDossier") .WithParameter(new Parameter <string>("startDate", "01/10/2018", "param3")) .WithParameter(new Parameter <string>("endDate", "17/10/2018", "param4")) .WithField(new NodeField("label")) .WithField(new NodeField("value"))); // var composeQueryBuilder = new ComposeQueryBuilder("Dashboard") { Queries = new Dictionary <string, QueryBuilder> { { "chart1", chart1Query }, { "chart2", chart2Query } } }; // composeQueryBuilder.Build(); // string parsedQuery = Regex.Replace(query, "[ \n\r\t]", ""); string parsedComposeQuery = Regex.Replace(composeQueryBuilder.Query, "[ \n\r\t]", ""); // int compareResult = string.Compare(parsedQuery, parsedComposeQuery, System.StringComparison.InvariantCultureIgnoreCase); // Assert.IsNotNull(composeQueryBuilder.Query); Assert.IsNotNull(composeQueryBuilder.Variables); Assert.AreEqual(0, compareResult); }
public void TestComposeQuery_WithSimpleFields() { // const string query = @"query Test{ myTest1:query1{ field1 field2 } myTest2:query2{ field1 field2 } }"; // var firstQuery = new QueryBuilder(isCompose: true) .WithAction(new QueryActionBuilder("query1") .WithField(new NodeField("field1")) .WithField(new NodeField("field2"))); // var secondQuery = new QueryBuilder(isCompose: true) .WithAction(new QueryActionBuilder("query2") .WithField(new NodeField("field1")) .WithField(new NodeField("field2"))); // var composeQueryBuilder = new ComposeQueryBuilder("Test") { Queries = new Dictionary <string, QueryBuilder> { { "myTest1", firstQuery }, { "myTest2", secondQuery } } }; // composeQueryBuilder.Build(); // string parsedQuery = Regex.Replace(query, "[ \n\r\t]", ""); string parsedComposeQuery = Regex.Replace(composeQueryBuilder.Query, "[ \n\r\t]", ""); // int compareResult = string.Compare(parsedQuery, parsedComposeQuery, System.StringComparison.InvariantCultureIgnoreCase); // Assert.IsNotNull(composeQueryBuilder.Query); Assert.AreEqual(0, compareResult); }
public void TestComposeQuery_WithComplexFields() { // const string query = @"query Context { collab: Collaborateur { code email id nom prenom taches { id pV1 pV2 pV3 userId } } param: Parametrage{ categoriePrixKm categorieTicketResto dateValidationNdF dateValidationTP id prixKm prixVente prixVente2 prixVente3 } }"; // var collaborateurQuery = new QueryBuilder(isCompose: true) .WithAction(new QueryActionBuilder("Collaborateur") .WithField(new NodeField("code")) .WithField(new NodeField("email")) .WithField(new NodeField("id")) .WithField(new NodeField("nom")) .WithField(new NodeField("prenom")) .WithComplexField(new ComplexNodeField(new NodeField("taches"), new[] { new NodeField("id"), new NodeField("pv1"), new NodeField("pV2"), new NodeField("pV3"), new NodeField("userId") }))); // var parametrageQuery = new QueryBuilder(isCompose: true) .WithAction(new QueryActionBuilder("Parametrage") .WithField(new NodeField("categoriePrixKm")) .WithField(new NodeField("categorieTicketResto")) .WithField(new NodeField("dateValidationNdF")) .WithField(new NodeField("dateValidationTP")) .WithField(new NodeField("id")) .WithField(new NodeField("prixKm")) .WithField(new NodeField("prixVente")) .WithField(new NodeField("prixVente2")) .WithField(new NodeField("prixVente3"))); // var composeQueryBuilder = new ComposeQueryBuilder("Context") { Queries = new Dictionary <string, QueryBuilder> { { "collab", collaborateurQuery }, { "param", parametrageQuery } } }; // composeQueryBuilder.Build(); // string parsedQuery = Regex.Replace(query, "[ \n\r\t]", ""); string parsedComposeQuery = Regex.Replace(composeQueryBuilder.Query, "[ \n\r\t]", ""); // int compareResult = string.Compare(parsedQuery, parsedComposeQuery, System.StringComparison.InvariantCultureIgnoreCase); // Assert.IsNotNull(composeQueryBuilder.Query); Assert.AreEqual(0, compareResult); }