Exemplo n.º 1
0
        public void FirstOrDefaultItemsNotFoundTest()
        {
            var service = new OdooService(Connection);

            var partner = service.FirstOrDefault(OdooFilter <OdooPartner> .Where(x => x.Id == 0));

            Assert.IsNull(partner);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 5
0
        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());
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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");
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 11
0
        public void FirstItemsNotFoundTest()
        {
            var service = new OdooService(Connection);

            Assert.Throws <ArgumentNullException>(() => service.First(OdooFilter <OdooPartner> .Where(x => x.Id == 0)));
        }
Exemplo n.º 12
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());
        }