public void DocumentFilterSample() { var query = new ComplexQuery( null, "id eq 'moeta(42)'", 1, null, null, "dev", false); var documentTranslator = new DocumentTranslator("test", Helpers.Enums.DocumentType.Data, "records", 3); var sqlQuery = documentTranslator.Translate(query); Assert.AreEqual("select top 30 c.identifier, c.robot from c where c.title = 'moeta' and c.entity = 'kotori/project' and c.instance = 'dev' ", sqlQuery); }
public void DocumentCountSample() { var query = new ComplexQuery( "id, englishName", "title eq 'moeta' and property/field ne 'val' or number ge 5 and (likes ne 3 or special lt 3)", 30, null, "_created asc, createdDateTime desc", "dev", true); var documentTranslator = new DocumentTranslator("testproject", Helpers.Enums.DocumentType.Content, "articles", null); var sqlQuery = documentTranslator.Translate(query); Assert.AreEqual("select count(1) from c where c.title = 'moeta' and c.property.field <> 'val' or c.number >= 5 and (c.likes <> 3 or c.special < 3) and c.entity = 'kotori/document' and c.instance = 'dev' and c.projectId = 'kotori://api/projects/testproject' and c.documentTypeId = 'kotori://api/projects/testproject/content/articles' ", sqlQuery); }
public void Translate_MultipleMatchingCodeSpanTranslator_CallsFirstTranslater() { Mock <ISpanTranslator> secondTranslator = new Mock <ISpanTranslator>(); secondTranslator.Setup(c => c.Match(It.IsAny <Span>())).Returns(true); this._spanTranslator.Setup(c => c.Match(It.IsAny <Span>())).Returns(true); Span span = SpanHelper.BuildSpan("a"); Block document = BlockHelper.BuildWithChildren(span); var sut = new DocumentTranslator(this._spanTranslator.Object, secondTranslator.Object); sut.Translate(document, this._templateBuilder.Object); this._spanTranslator.Verify(c => c.Translate(span, this._templateBuilder.Object)); secondTranslator.Verify(c => c.Translate(It.IsAny <Span>(), It.IsAny <ITemplateBuilder>()), Times.Never()); }
public ITranslator CreateDocumentTranslator(string projectId, Helpers.Enums.DocumentType documentType, string documentTypeId, long?index = null) { var dt = new DocumentTranslator(projectId, documentType, documentTypeId, index); return(dt); }