Skip to content

Commit 7d8557e

Browse files
author
DOMAIN\ext.patryk.bujalla
committed
fix mapping bug
1 parent 7eef886 commit 7d8557e

8 files changed

Lines changed: 109 additions & 79 deletions

File tree

PortaCapena.OdooJsonRpcClient.Example/OdooClientTests.cs

Lines changed: 68 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,10 @@ public async Task Get_product_by_Id_test()
7979
{
8080
var odooClient = new OdooClient(TestConfig);
8181

82-
var query = OdooQuery<ProductProductOdooDto>.Create()
82+
var query = OdooQuery<ProductProductOdooModel>.Create()
8383
.Where(x => x.Id, OdooOperator.EqualsTo, 303);
8484

85-
var products = await odooClient.GetAsync<ProductProductOdooDto>(query);
85+
var products = await odooClient.GetAsync<ProductProductOdooModel>(query);
8686

8787
products.Error.Should().BeNull();
8888
products.Value.Should().NotBeNull();
@@ -95,10 +95,10 @@ public async Task Get_product_by_Id_test()
9595
public async Task Shoud_get_products_using_query_take()
9696
{
9797
var odooClient = new OdooClient(TestConfig);
98-
var query = OdooQuery<ProductProductOdooDto>.Create()
98+
var query = OdooQuery<ProductProductOdooModel>.Create()
9999
.Take(10);
100100

101-
var products = await odooClient.GetAsync<ProductProductOdooDto>(query);
101+
var products = await odooClient.GetAsync<ProductProductOdooModel>(query);
102102

103103
products.Error.Should().BeNull();
104104
products.Value.Should().NotBeNull();
@@ -110,11 +110,11 @@ public async Task Shoud_get_products_using_query_take()
110110
public async Task Shoud_get_products_using_query_skip()
111111
{
112112
var odooClient = new OdooClient(TestConfig);
113-
var query = OdooQuery<ProductProductOdooDto>.Create().Skip(5);
113+
var query = OdooQuery<ProductProductOdooModel>.Create().Skip(5);
114114

115-
var products = await odooClient.GetAsync<ProductProductOdooDto>(query);
115+
var products = await odooClient.GetAsync<ProductProductOdooModel>(query);
116116

117-
var allProducts = await odooClient.GetAsync<ProductProductOdooDto>();
117+
var allProducts = await odooClient.GetAsync<ProductProductOdooModel>();
118118

119119
products.Error.Should().BeNull();
120120
products.Value.Should().NotBeNull();
@@ -130,10 +130,10 @@ public async Task Shoud_get_products_using_query_skip()
130130
public async Task Get_products_with_order_query()
131131
{
132132
var odooClient = new OdooClient(TestConfig);
133-
var query = OdooQuery<ProductProductOdooDto>.Create()
133+
var query = OdooQuery<ProductProductOdooModel>.Create()
134134
.OrderBy(x => x.Id);
135135

136-
var products = await odooClient.GetAsync<ProductProductOdooDto>(query);
136+
var products = await odooClient.GetAsync<ProductProductOdooModel>(query);
137137

138138
products.Error.Should().BeNull();
139139
products.Value.Should().NotBeNull();
@@ -149,10 +149,10 @@ public async Task Get_products_with_order_query()
149149
public async Task Get_products_with_order_desc_query()
150150
{
151151
var odooClient = new OdooClient(TestConfig);
152-
var query = OdooQuery<ProductProductOdooDto>.Create()
152+
var query = OdooQuery<ProductProductOdooModel>.Create()
153153
.OrderByDescending(x => x.Id);
154154

155-
var products = await odooClient.GetAsync<ProductProductOdooDto>(query);
155+
var products = await odooClient.GetAsync<ProductProductOdooModel>(query);
156156

157157
products.Error.Should().BeNull();
158158
products.Value.Should().NotBeNull();
@@ -171,7 +171,7 @@ public async Task Should_get_products_with_selected_properties_using_query()
171171
{
172172
var odooClient = new OdooClient(TestConfig);
173173

174-
var filters = OdooQuery<ProductProductOdooDto>.Create()
174+
var filters = OdooQuery<ProductProductOdooModel>.Create()
175175
.Select(x => new
176176
{
177177
x.Name,
@@ -181,7 +181,7 @@ public async Task Should_get_products_with_selected_properties_using_query()
181181
.Where(x => x.Name, OdooOperator.EqualsTo, "Bioboxen 610l")
182182
.Where(x => x.WriteDate, OdooOperator.GreaterThanOrEqualTo, new DateTime(2020, 12, 2));
183183

184-
var products = await odooClient.GetAsync<ProductProductOdooDto>(filters);
184+
var products = await odooClient.GetAsync<ProductProductOdooModel>(filters);
185185

186186
products.Error.Should().BeNull();
187187
products.Value.Should().NotBeNull();
@@ -274,7 +274,6 @@ public async Task Can_create_product()
274274
Name = "Prod test Kg",
275275
UomId = 3,
276276
UomPoId = 3,
277-
InvoicePolicy = InvoicingPolicyOdooEnum.DeliveredQuantities
278277
};
279278

280279
var products = await odooClient.CreateAsync(model);
@@ -294,17 +293,16 @@ public async Task Can_create_update_delete_product()
294293
Name = "Prod test Kg",
295294
UomId = 3,
296295
UomPoId = 3,
297-
InvoicePolicy = InvoicingPolicyOdooEnum.DeliveredQuantities
298296
};
299297

300298
var createResult = await odooClient.CreateAsync(model);
301299
createResult.Succeed.Should().BeTrue();
302300
var createdProductId = createResult.Value;
303301

304-
var query = OdooQuery<ProductProductOdooDto>.Create()
302+
var query = OdooQuery<ProductProductOdooModel>.Create()
305303
.Where(x => x.Id, OdooOperator.EqualsTo, createdProductId);
306304

307-
var products = await odooClient.GetAsync<ProductProductOdooDto>(query);
305+
var products = await odooClient.GetAsync<ProductProductOdooModel>(query);
308306
products.Succeed.Should().BeTrue();
309307
products.Value.Length.Should().Be(1);
310308
products.Value.First().Name.Should().Be(model.Name);
@@ -314,10 +312,10 @@ public async Task Can_create_update_delete_product()
314312
var updateProductResult = await odooClient.UpdateAsync(model, createdProductId);
315313
updateProductResult.Succeed.Should().BeTrue();
316314

317-
var query2 = OdooQuery<ProductProductOdooDto>.Create()
315+
var query2 = OdooQuery<ProductProductOdooModel>.Create()
318316
.Where(x => x.Id, OdooOperator.EqualsTo, createdProductId);
319317

320-
var products2 = await odooClient.GetAsync<ProductProductOdooDto>(query2);
318+
var products2 = await odooClient.GetAsync<ProductProductOdooModel>(query2);
321319
products2.Succeed.Should().BeTrue();
322320
products2.Value.Length.Should().Be(1);
323321
products2.Value.First().Name.Should().Be(model.Name);
@@ -334,17 +332,17 @@ public async Task Can_create_product_from_dictionary_model()
334332
{
335333
var odooClient = new OdooClient(TestConfig);
336334

337-
var dictModel = OdooDictionaryModel.Create(() => new ProductProductOdooDto
335+
var dictModel = OdooDictionaryModel.Create(() => new ProductProductOdooModel
338336
{
339337
Name = "test OdooCreateDictionary",
340338
});
341339

342-
var dictModel2 = OdooDictionaryModel.Create<ProductProductOdooDto>(x => x.CombinationIndices, "create test");
340+
var dictModel2 = OdooDictionaryModel.Create<ProductProductOdooModel>(x => x.CombinationIndices, "create test");
343341

344-
var dictModel3 = OdooDictionaryModel.Create<ProductProductOdooDto>(x => x.InvoicePolicy, InvoicingPolicyOdooEnum.DeliveredQuantities);
342+
var dictModel3 = OdooDictionaryModel.Create<ProductProductOdooModel>(x => x.InvoicePolicy, InvoicingPolicyProductProductOdooEnum.DeliveredQuantities);
345343

346-
dictModel.Add<ProductProductOdooDto>(x => x.CombinationIndices, "sadasd");
347-
dictModel.Add<ProductProductOdooDto>(x => x.InvoicePolicy, InvoicingPolicyOdooEnum.DeliveredQuantities);
344+
dictModel.Add<ProductProductOdooModel>(x => x.CombinationIndices, "sadasd");
345+
dictModel.Add<ProductProductOdooModel>(x => x.InvoicePolicy, InvoicingPolicyProductProductOdooEnum.DeliveredQuantities);
348346

349347
var createResult = await odooClient.CreateAsync(dictModel);
350348
createResult.Succeed.Should().BeTrue();
@@ -372,9 +370,9 @@ public async Task Can_create_product_and_delete_using_object()
372370
createResult.Succeed.Should().BeTrue();
373371
var createdProductId = createResult.Value;
374372

375-
var query = OdooQuery<ProductProductOdooDto>.Create().ById(createdProductId);
373+
var query = OdooQuery<ProductProductOdooModel>.Create().ById(createdProductId);
376374

377-
var product = await odooClient.GetAsync<ProductProductOdooDto>(query);
375+
var product = await odooClient.GetAsync<ProductProductOdooModel>(query);
378376
product.Succeed.Should().BeTrue();
379377
product.Value.First().Name.Should().Be(model.Name);
380378

@@ -418,8 +416,8 @@ public async Task Can_create_sale_order()
418416
partnerResult.Succeed.Should().BeTrue();
419417
var partner = partnerResult.Value.First();
420418

421-
var productQuery = OdooQuery<ProductProductOdooDto>.Create().ById(41);
422-
var productsResult = await odooClient.GetAsync<ProductProductOdooDto>(productQuery);
419+
var productQuery = OdooQuery<ProductProductOdooModel>.Create().ById(41);
420+
var productsResult = await odooClient.GetAsync<ProductProductOdooModel>(productQuery);
423421
productsResult.Succeed.Should().BeTrue();
424422
var product = productsResult.Value.First();
425423

@@ -504,9 +502,50 @@ public async Task Can_create_purchase_order()
504502
//createResult.Succeed.Should().BeTrue();
505503
}
506504

505+
// [Fact(Skip = "Test for working on Odoo")]
506+
[Fact]
507+
public async Task Can_create_update_and_delete_product()
508+
{
509+
var odooClient = new OdooClient(TestConfig);
507510

508-
#endregion
511+
var model = OdooDictionaryModel.Create(() => new ProductProductOdooModel
512+
{
513+
Name = "test name",
514+
UomId = 3,
515+
UomPoId = 3,
516+
CompanyId = 1
517+
});
509518

519+
var createResult = await odooClient.CreateAsync(model);
520+
521+
createResult.Error.Should().BeNull();
522+
createResult.Succeed.Should().BeTrue();
523+
524+
var query = OdooQuery<ProductProductOdooModel>.Create()
525+
.ById(createResult.Value);
526+
527+
var products = await odooClient.GetAsync<ProductProductOdooModel>(query);
528+
products.Succeed.Should().BeTrue();
529+
products.Value.First().CompanyId.Should().Be(1);
530+
531+
var dict = OdooDictionaryModel.Create(() => new ProductProductOdooModel
532+
{
533+
CompanyId = null
534+
});
535+
536+
var updateResult = await odooClient.UpdateAsync(dict, createResult.Value);
537+
538+
updateResult.Succeed.Should().BeTrue();
539+
540+
var products2 = await odooClient.GetAsync<ProductProductOdooModel>(query);
541+
products2.Succeed.Should().BeTrue();
542+
products2.Value.First().CompanyId.Should().BeNull();
543+
544+
var deleteResult = await odooClient.DeleteAsync(products2.Value.First());
545+
deleteResult.Succeed.Should().BeTrue();
546+
}
547+
548+
#endregion
510549

511550
[Fact(Skip = "Test for working on Odoo")]
512551
//[Fact]

PortaCapena.OdooJsonRpcClient.Example/OdooRepositoryTests.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class OdooRepositoryTests : RequestTestBase
1313
[Fact]
1414
public async Task Can_get_all_products()
1515
{
16-
var repository = new OdooRepository<ProductProductOdooDto>(TestConfig);
16+
var repository = new OdooRepository<ProductProductOdooModel>(TestConfig);
1717
var products = await repository.Query().ToListAsync();
1818

1919
products.Error.Should().BeNull();
@@ -25,7 +25,7 @@ public async Task Can_get_all_products()
2525
[Fact]
2626
public async Task Can_get_product_by_id()
2727
{
28-
var repository = new OdooRepository<ProductProductOdooDto>(TestConfig);
28+
var repository = new OdooRepository<ProductProductOdooModel>(TestConfig);
2929
var products = await repository.Query().ById(282).ToListAsync();
3030

3131
products.Error.Should().BeNull();
@@ -36,7 +36,7 @@ public async Task Can_get_product_by_id()
3636
[Fact]
3737
public async Task Can_get_product_with_deep_where()
3838
{
39-
var repository = new OdooRepository<ProductProductOdooDto>(TestConfig);
39+
var repository = new OdooRepository<ProductProductOdooModel>(TestConfig);
4040

4141
var products = await repository.Query()
4242
.Where<ResCurrencyOdooModel>(x => x.CurrencyId, z => z.Name, OdooOperator.EqualsTo, "Euros")
@@ -51,7 +51,7 @@ public async Task Can_get_product_with_deep_where()
5151
[Fact]
5252
public async Task Can_get_product_with_deep_secound_level_where()
5353
{
54-
var repository = new OdooRepository<ProductProductOdooDto>(TestConfig);
54+
var repository = new OdooRepository<ProductProductOdooModel>(TestConfig);
5555

5656
var products = await repository.Query()
5757
.Where<AccountAccountOdooModel, AccountAccountTypeOdooModel>(x => x.PropertyAccountIncomeId, x => x.UserTypeId, x => x.Type, OdooOperator.EqualsTo, TypeAccountAccountTypeOdooEnum.Regular)
@@ -66,7 +66,7 @@ public async Task Can_get_product_with_deep_secound_level_where()
6666
[Fact]
6767
public async Task Can_get_products_with_where_and_select()
6868
{
69-
var repository = new OdooRepository<ProductProductOdooDto>(TestConfig);
69+
var repository = new OdooRepository<ProductProductOdooModel>(TestConfig);
7070
var products = await repository.Query()
7171
.ById(66)
7272
.Select(x => new { x.Name })
@@ -95,7 +95,7 @@ public async Task Can_get_all_OdooVoucher()
9595
[Fact]
9696
public async Task Can_get_product_with_selected_language_uning_query()
9797
{
98-
var repository = new OdooRepository<ProductProductOdooDto>(TestConfig);
98+
var repository = new OdooRepository<ProductProductOdooModel>(TestConfig);
9999

100100
var context = new OdooContext
101101
{
@@ -126,7 +126,7 @@ public async Task Can_get_product_with_selected_language_uning_query()
126126
public async Task Can_get_product_with_selected_language_using_repository_init()
127127
{
128128
var confing = new OdooConfig(TestConfig.ApiUrl, TestConfig.DbName, TestConfig.UserName, TestConfig.Password, "nl_BE");
129-
var repository = new OdooRepository<ProductProductOdooDto>(confing);
129+
var repository = new OdooRepository<ProductProductOdooModel>(confing);
130130

131131
var product = await repository.Query()
132132
.ById(282)
@@ -169,7 +169,7 @@ public async Task Can_get_product_with_selected_language_using_repository_init()
169169
[Fact]
170170
public async Task Can_get_product_with_selected_language_using_repository_prop()
171171
{
172-
var repository = new OdooRepository<ProductProductOdooDto>(TestConfig);
172+
var repository = new OdooRepository<ProductProductOdooModel>(TestConfig);
173173
repository.Config.Context.Language = "nl_BE";
174174

175175
var product = await repository.Query()

PortaCapena.OdooJsonRpcClient.Shared/Models/Create/OdooCreateProduct.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,5 @@ public class OdooCreateProduct : IOdooCreateModel
1616
[JsonProperty("uom_po_id")]
1717
public int UomPoId { get; set; }
1818

19-
[JsonProperty("invoice_policy")]
20-
public InvoicingPolicyOdooEnum? InvoicePolicy { get; set; }
2119
}
2220
}

0 commit comments

Comments
 (0)