public async Task Can_get_product_with_selected_language_uning_query()
        {
            var repository = new OdooRepository <ProductProductOdooModel>(TestConfig);

            var context = new OdooContext
            {
                Language = "nl_BE",
            };

            var product = await repository.Query()
                          .ById(282)
                          .WithContext(context)
                          .FirstOrDefaultAsync();

            product.Error.Should().BeNull();
            product.Value.Should().NotBeNull();
            product.Succeed.Should().BeTrue();
            product.Value.Name.Should().Contain("Dutch");

            var productWithoutLanguage = await repository.Query()
                                         .ById(282)
                                         .FirstOrDefaultAsync();

            productWithoutLanguage.Error.Should().BeNull();
            productWithoutLanguage.Value.Should().NotBeNull();
            productWithoutLanguage.Succeed.Should().BeTrue();
            productWithoutLanguage.Value.Name.Should().NotContain("Dutch");
        }
        public async Task Can_get_product_by_id()
        {
            var repository = new OdooRepository <ProductProductOdooModel>(TestConfig);
            var products   = await repository.Query().ById(282).ToListAsync();

            products.Error.Should().BeNull();
            products.Value.Should().NotBeNull();
            products.Succeed.Should().BeTrue();
        }
Beispiel #3
0
        public async Task Can_get_product_by_id()
        {
            var repository = new OdooRepository <ProductProductOdooDto>(Config);
            var products   = await repository.Query().ById(66).FirstOrDefaultAsync();

            products.Error.Should().BeNull();
            products.Value.Should().NotBeNull();
            products.Succeed.Should().BeTrue();
        }
        public async Task Can_get_all_products()
        {
            var repository = new OdooRepository <ProductProductOdooModel>(TestConfig);
            var products   = await repository.Query().ToListAsync();

            products.Error.Should().BeNull();
            products.Value.Should().NotBeNull();
            products.Value.Length.Should().BeGreaterThan(0);
            products.Succeed.Should().BeTrue();
        }
        public async Task Can_get_all_OdooVoucher()
        {
            var repository = new OdooRepository <CouponProgramOdooDto>(TestConfig);

            var products = await repository.Query()
                           .SelectSimplifiedModel()
                           .FirstOrDefaultAsync();

            products.Error.Should().BeNull();
            products.Value.Should().NotBeNull();
            products.Succeed.Should().BeTrue();
        }
        public async Task Can_get_products_with_where_and_select()
        {
            var repository = new OdooRepository <ProductProductOdooModel>(TestConfig);
            var products   = await repository.Query()
                             .ById(66)
                             .Select(x => new { x.Name })
                             .FirstOrDefaultAsync();

            products.Error.Should().BeNull();
            products.Value.Should().NotBeNull();
            products.Succeed.Should().BeTrue();
        }
        public async Task Can_get_product_with_deep_secound_level_where()
        {
            var repository = new OdooRepository <ProductProductOdooModel>(TestConfig);

            var products = await repository.Query()
                           .Where <AccountAccountOdooModel, AccountAccountTypeOdooModel>(x => x.PropertyAccountIncomeId, x => x.UserTypeId, x => x.Type, OdooOperator.EqualsTo, TypeAccountAccountTypeOdooEnum.Regular)
                           .ToListAsync();

            products.Error.Should().BeNull();
            products.Value.Should().NotBeNull();
            products.Succeed.Should().BeTrue();
            products.Value.Should().NotBeEmpty();
        }
        public async Task Can_get_product_with_deep_where()
        {
            var repository = new OdooRepository <ProductProductOdooModel>(TestConfig);

            var products = await repository.Query()
                           .Where <ResCurrencyOdooModel>(x => x.CurrencyId, z => z.Name, OdooOperator.EqualsTo, "Euros")
                           .ToListAsync();

            products.Error.Should().BeNull();
            products.Value.Should().NotBeNull();
            products.Succeed.Should().BeTrue();
            products.Value.Should().NotBeEmpty();
        }
        public async Task Can_get_all_countries()
        {
            var odoorepository = new OdooRepository <ResCountryOdooModel>(Config);

            var products = await odoorepository.Query().Where(x => x.XStudioIsInEu, OdooOperator.EqualsTo, true).ToListAsync();

            products.Error.Should().BeNull();
            products.Value.Should().NotBeNull();
            products.Value.Length.Should().BeGreaterThan(0);
            products.Succeed.Should().BeTrue();

            var dupa = products.Value.Where(x => x.XStudioIsInEu == true).ToList();
        }
        // [Fact(Skip = "Test for working on Odoo")]
        public async Task CreatePurchaseOrderAsync()
        {
            var odooCompanyId = 32;

            var accountTaxOdooRepository        = new OdooRepository <AccountTaxOdooModel>(Config);
            var purchaseOrderOdooRepository     = new OdooRepository <PurchaseOrderOdooModel>(Config);
            var purchaseOrderLineOdooRepository = new OdooRepository <PurchaseOrderLineOdooModel>(Config);

            var odooCompanyTaxes = await accountTaxOdooRepository.Query()
                                   .Where(x => x.CompanyId, OdooOperator.EqualsTo, odooCompanyId)
                                   .Where(x => x.AmountType, OdooOperator.EqualsTo, TaxComputationAccountTaxOdooEnum.PercentageOfPrice)
                                   .ToListAsync();

            //  odooCompanyTaxes.Succeed.Should().BeTrue();
            //   odooCompanyTaxes.Value.Should().NotBeNull().And.NotBeEmpty();

            var purchaseOrderModel = OdooDictionaryModel.Create(() => new PurchaseOrderOdooModel()
            {
                CompanyId            = odooCompanyId,
                DateOrder            = GetTestdate(),
                PartnerId            = 1,
                CurrencyId           = 1,
                XStudioPickupAddress = "pickupAddress",
                XStudioPickupDate    = GetTestdate(),
                State = StatusPurchaseOrderOdooEnum.PurchaseOrder
            });

            //        var orderResult = await purchaseOrderOdooRepository.CreateAsync(purchaseOrderModel);
            //        orderResult.Succeed.Should().BeTrue();


            //    var taxId = odooCompanyTaxes.Value.FirstOrDefault(x => x.Amount == 6);

            //    taxId.Should().NotBeNull();

            var model = OdooDictionaryModel.Create(() => new PurchaseOrderLineOdooModel()
            {
                PriceUnit  = 10,
                ProductId  = 12,
                ProductQty = 11,
                //  OrderId = orderResult.Value,
                State   = StatusPurchaseOrderLineOdooEnum.PurchaseOrder,
                TaxesId = new long[] { 12, 11 }
            });

            //       var createPurchaseOrderLineResult = await purchaseOrderLineOdooRepository.CreateAsync(model);

            //        createPurchaseOrderLineResult.Succeed.Should().BeTrue();
        }
        public async Task Can_get_product_with_selected_language_using_repository_init()
        {
            var confing    = new OdooConfig(TestConfig.ApiUrl, TestConfig.DbName, TestConfig.UserName, TestConfig.Password, "nl_BE");
            var repository = new OdooRepository <ProductProductOdooModel>(confing);

            var product = await repository.Query()
                          .ById(282)
                          .FirstOrDefaultAsync();

            product.Error.Should().BeNull();
            product.Value.Should().NotBeNull();
            product.Succeed.Should().BeTrue();
            product.Value.Name.Should().Contain("Dutch");

            var product2 = await repository.Query()
                           .ById(282)
                           .FirstOrDefaultAsync();

            product2.Error.Should().BeNull();
            product2.Value.Should().NotBeNull();
            product2.Succeed.Should().BeTrue();
            product2.Value.Name.Should().Contain("Dutch");

            var productWithoutLanguage = await repository.Query()
                                         .ById(282)
                                         .WithContext(new OdooContext())
                                         .FirstOrDefaultAsync();

            productWithoutLanguage.Error.Should().BeNull();
            productWithoutLanguage.Value.Should().NotBeNull();
            productWithoutLanguage.Succeed.Should().BeTrue();
            productWithoutLanguage.Value.Name.Should().NotContain("Dutch");

            var product3 = await repository.Query()
                           .ById(282)
                           .FirstOrDefaultAsync();

            product3.Error.Should().BeNull();
            product3.Value.Should().NotBeNull();
            product3.Succeed.Should().BeTrue();
            product3.Value.Name.Should().Contain("Dutch");
        }