public void FirstOrDefaultItemsNotFoundTest() { var service = new OdooService(Connection); var partner = service.FirstOrDefault(OdooFilter <OdooPartner> .Where(x => x.Id == 0)); Assert.IsNull(partner); }
public void FirstItemsFoundTest() { var service = new OdooService(Connection); var partner = service.First(OdooFilter <OdooPartner> .Where(x => x.Id == 3354)); Assert.IsNotNull(partner); Assert.That(partner.Id == 3354); }
public void BasicListTest() { var service = new OdooService(Connection); var results = service.List <OdooPartner>(OdooFilter <OdooPartner> .Where(x => true), OdooSorter <OdooPartner> .OrderBy(x => x.Id), 0, 4); Assert.IsNotNull(results); Assert.That(results.Any()); Assert.That(results.Count == 4); }
public static T First <T>(this OdooService service, OdooFilter <T> filter) where T : IOdooObject, new() { var result = service.GetEntities(filter.Filter).ToList(); if (result.Any()) { return(result.First()); } throw new ArgumentNullException(); }
public void ObjectWithlistTest() { var service = new OdooService(Connection); var project = service.FirstOrDefault <OdooProject>(OdooFilter <OdooProject> .Where(x => x.Id == 431)); var first = project.PartnerInvoices.First(); Assert.That(project.PartnerInvoices.Any()); }
public void When_use_where_with_OdooFilter_param_shoud_return_correct_filters_model() { var filters = OdooQuery <ProductProductOdooModel> .Create() .Where(OdooFilter.Create().GreaterThanOrEqual("write_date", new DateTime(2020, 12, 2))) .Where(OdooFilter.Create().EqualTo("name", "Bioboxen 610l")); filters.Filters.Count.Should().Be(2); var json = JsonConvert.SerializeObject(filters.Filters); json.Should().Be("[[\"write_date\",\">=\",\"2020-12-02T00:00:00\"],[\"name\",\"=\",\"Bioboxen 610l\"]]"); filters.ReturnFields.Count.Should().Be(0); filters.Limit.Should().BeNull(); filters.Offset.Should().BeNull(); }
public void ListPagingOrderByDescTest() { var service = new OdooService(Connection); var results = service.List <OdooPartner>(OdooFilter <OdooPartner> .Where(x => true), OdooSorter <OdooPartner> .OrderByDescending(x => x.Id), 0, 2); var results2 = service.List <OdooPartner>(OdooFilter <OdooPartner> .Where(x => true), OdooSorter <OdooPartner> .OrderByDescending(x => x.Id), 2, 2); Assert.IsNotNull(results); Assert.That(results.Any()); Assert.That(results.Count == 2); Assert.That(results.First().Id > results2.First().Id); Assert.IsNotNull(results2); Assert.That(results2.Any()); Assert.That(results2.Count == 2); }
public void AddTest() { var service = new OdooService(Connection); var partner = new OdooPartner { Email = "*****@*****.**", IsCompany = true, Name = "Test Company" }; var id = service.AddOrUpdate(partner); Assert.That(id > 0); var check = service.First(OdooFilter <OdooPartner> .Where(x => x.Id == id)); Assert.That(check.Name == "Test Company"); }
public static ICollection <T> List <T>(this OdooService service, OdooFilter <T> filter, OdooSorter <T> sorter = null, int?offset = null, int?limit = null) where T : IOdooObject, new() { if (sorter != null & (offset == null || limit == null)) { throw new ArgumentNullException("sorter", "A sorter requires offset and limit"); } if ((offset != null && limit == null) || (offset == null && limit != null)) { throw new ArgumentNullException("offset", "page and offset are required"); } if (sorter != null) { return(service.GetEntities(filter.Filter, offset, limit, sorter.Order) .ToList()); } return(service.GetEntities(filter.Filter).ToList()); }
public void RequestModel_should_return_request_with_corect_params_count() { var query = new OdooQuery() { ReturnFields = new HashSet <string> { "name" }, Filters = new OdooFilter { new object[] { "id", "=", 66 } } }; var request = OdooRequestModel.SearchRead(Config, 2, "table", query); request.Params.Args.Length.Should().Be(7); var query2 = new OdooQuery() { Filters = new OdooFilter { new object[] { "id", "=", 66 } } }; var request2 = OdooRequestModel.SearchRead(Config, 2, "table", query2); request2.Params.Args.Length.Should().Be(6); var query3 = new OdooQuery() { ReturnFields = new HashSet <string> { "name" } }; var request3 = OdooRequestModel.SearchRead(Config, 2, "table", query3); request3.Params.Args.Length.Should().Be(7); var request4 = OdooRequestModel.SearchRead(Config, 2, "table"); request4.Params.Args.Length.Should().Be(5); var query5 = new OdooQuery() { Offset = 10 }; var request5 = OdooRequestModel.SearchRead(Config, 2, "table", query5); request5.Params.Args.Length.Should().Be(8); var query6 = new OdooQuery() { Limit = 10 }; var request6 = OdooRequestModel.SearchRead(Config, 2, "table", query6); request6.Params.Args.Length.Should().Be(9); var query7 = new OdooQuery() { Order = "id" }; var request7 = OdooRequestModel.SearchRead(Config, 2, "table", query7); request7.Params.Args.Length.Should().Be(10); var queryTest = new OdooQuery() { ReturnFields = new HashSet <string> { "name" }, Filters = OdooFilter.Create().EqualTo("id", 66) }; var requestTest = OdooRequestModel.SearchRead(Config, 2, "table", queryTest); requestTest.Params.Args.Length.Should().Be(7); }
public void FirstItemsNotFoundTest() { var service = new OdooService(Connection); Assert.Throws <ArgumentNullException>(() => service.First(OdooFilter <OdooPartner> .Where(x => x.Id == 0))); }
public static T FirstOrDefault <T>(this OdooService service, OdooFilter <T> filter) where T : IOdooObject, new() { var result = service.GetEntities(filter.Filter).ToList(); return(result.FirstOrDefault()); }