public void PaginationParameters() { IntegrityDataset ds = new IntegrityDataset(); var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); Assert.AreEqual("page=1&per_page=500", search.PaginationParams(1)); }
public void SearchWithAuditIdParam() { IntegrityDataset ds = new IntegrityDataset(); var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); search.AuditId = 100; string query = "audit_id_gt=100"; Assert.AreEqual(query, search.ToQueryConditions()); }
public void SearchWithManyResults() { IntegrityDataset ds = new IntegrityDataset(); var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); string searchConditions = search.ToQueryConditions() + "&"; mockService.Setup(service => service.GetSearchResults(0, searchConditions + search.PaginationParams(1))).Returns("<people><row><name>Billy</name></row></people>"); mockService.Setup(service => service.GetSearchResults(0, searchConditions + search.PaginationParams(2))).Returns("<people><row><name>Tommy</name></row></people>"); mockService.Setup(service => service.GetSearchResults(0, searchConditions + search.PaginationParams(3))).Returns("<people></people>"); Assert.Greater(search.Execute().Length, 1); }
public void SearchWithMultipleConditions() { IntegrityDataset ds = new IntegrityDataset(); ds.m_tableName = "people"; var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); search.AddCondition("name", "bob"); search.AddCondition("name", "sally"); string query = "[people][name][exactly][]=bob&"; query += "[people][name][exactly][]=sally&"; query += _audit_id_param; Assert.AreEqual(query, search.ToQueryConditions()); }
public void AddCondition() { IntegrityDataset ds = new IntegrityDataset(); ds.m_tableName = "people"; var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); string condition = "[people][name][exactly][]=bob"; string columnName, value; columnName = "name"; value = "bob"; List<string> conditions = new List<string> { condition }; search.AddCondition(columnName, value); Assert.AreEqual(conditions, search.Conditions); }
public void SearchWithMultipleQualifiers() { IntegrityDataset ds = new IntegrityDataset(); ds.m_tableName = "people"; List<Qualifier> qualifiers = new List<Qualifier>(); qualifiers.Add(new Qualifier("name", new string[] { "bob" })); qualifiers.Add(new Qualifier("state", new string[] { "VIC" })); ds.m_qualifiers = qualifiers; var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); string query = "upload_qualifiers[0][dataset_attribute_name]=name"; query += "&upload_qualifiers[0][qualifier_values][]=bob"; query += "&upload_qualifiers[1][dataset_attribute_name]=state"; query += "&upload_qualifiers[1][qualifier_values][]=VIC&"; query += _audit_id_param; Assert.AreEqual(query, search.ToQueryConditions()); }
public void SearchWithNoResults() { IntegrityDataset ds = new IntegrityDataset(); var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); string searchConditions = search.ToQueryConditions() + "&" + search.PaginationParams(1); mockService.Setup(service => service.GetSearchResults(0, searchConditions)).Returns("<people></people>"); Assert.AreEqual(0, search.Execute().Length); }