recombee-api-client 3.0.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/README.md +20 -14
  2. package/lib/api-client.js +49 -37
  3. package/lib/errors/response-error.js +2 -2
  4. package/lib/requests/add-search-synonym.js +60 -0
  5. package/lib/requests/delete-all-search-synonyms.js +40 -0
  6. package/lib/requests/delete-item.js +1 -1
  7. package/lib/requests/delete-more-items.js +44 -0
  8. package/lib/requests/delete-search-synonym.js +42 -0
  9. package/lib/requests/delete-user.js +1 -1
  10. package/lib/requests/index.js +8 -3
  11. package/lib/requests/list-search-synonyms.js +55 -0
  12. package/lib/requests/recommend-items-to-item.js +9 -4
  13. package/lib/requests/recommend-items-to-user.js +10 -5
  14. package/lib/requests/recommend-next-items.js +55 -0
  15. package/lib/requests/recommend-users-to-item.js +4 -2
  16. package/lib/requests/recommend-users-to-user.js +5 -3
  17. package/lib/requests/search-items.js +8 -3
  18. package/lib/requests/update-more-items.js +53 -0
  19. package/package.json +2 -3
  20. package/test/add-bookmark-batch_test.js +11 -11
  21. package/test/add-bookmark-test.js +24 -12
  22. package/test/add-cart-addition-batch_test.js +11 -11
  23. package/test/add-cart-addition-test.js +24 -12
  24. package/test/add-detail-view-batch_test.js +11 -11
  25. package/test/add-detail-view-test.js +24 -12
  26. package/test/add-group-batch_test.js +8 -8
  27. package/test/add-group-callback_test.js +1 -1
  28. package/test/add-group-test.js +13 -7
  29. package/test/add-item-batch_test.js +8 -8
  30. package/test/add-item-callback_test.js +1 -1
  31. package/test/add-item-property-batch_test.js +8 -8
  32. package/test/add-item-property-test.js +12 -6
  33. package/test/add-item-test.js +13 -7
  34. package/test/add-purchase-batch_test.js +11 -11
  35. package/test/add-purchase-test.js +24 -12
  36. package/test/add-rating-batch_test.js +11 -11
  37. package/test/add-rating-test.js +30 -15
  38. package/test/add-search-synonym-batch_test.js +37 -0
  39. package/test/add-search-synonym-callback_test.js +47 -0
  40. package/test/add-search-synonym-test.js +45 -0
  41. package/test/add-series-batch_test.js +8 -8
  42. package/test/add-series-callback_test.js +1 -1
  43. package/test/add-series-test.js +13 -7
  44. package/test/add-user-batch_test.js +8 -8
  45. package/test/add-user-callback_test.js +1 -1
  46. package/test/add-user-property-batch_test.js +8 -8
  47. package/test/add-user-property-test.js +12 -6
  48. package/test/add-user-test.js +13 -7
  49. package/test/delete-all-search-synonyms-batch_test.js +33 -0
  50. package/test/delete-all-search-synonyms-callback_test.js +35 -0
  51. package/test/delete-all-search-synonyms-test.js +31 -0
  52. package/test/delete-bookmark-batch_test.js +5 -5
  53. package/test/delete-bookmark-test.js +6 -3
  54. package/test/delete-cart-addition-batch_test.js +5 -5
  55. package/test/delete-cart-addition-test.js +6 -3
  56. package/test/delete-detail-view-batch_test.js +5 -5
  57. package/test/delete-detail-view-test.js +6 -3
  58. package/test/delete-group-batch_test.js +8 -8
  59. package/test/delete-group-callback_test.js +1 -1
  60. package/test/delete-group-test.js +19 -10
  61. package/test/delete-item-batch_test.js +8 -8
  62. package/test/delete-item-callback_test.js +1 -1
  63. package/test/delete-item-property-batch_test.js +8 -8
  64. package/test/delete-item-property-callback_test.js +1 -1
  65. package/test/delete-item-property-test.js +19 -10
  66. package/test/delete-item-test.js +19 -10
  67. package/test/delete-more-items-batch_test.js +35 -0
  68. package/test/delete-more-items-callback_test.js +37 -0
  69. package/test/delete-more-items-test.js +33 -0
  70. package/test/delete-purchase-batch_test.js +5 -5
  71. package/test/delete-purchase-test.js +6 -3
  72. package/test/delete-rating-batch_test.js +5 -5
  73. package/test/delete-rating-test.js +6 -3
  74. package/test/delete-search-synonym-batch_test.js +42 -0
  75. package/test/delete-search-synonym-callback_test.js +53 -0
  76. package/test/delete-search-synonym-test.js +47 -0
  77. package/test/delete-series-batch_test.js +8 -8
  78. package/test/delete-series-callback_test.js +1 -1
  79. package/test/delete-series-test.js +19 -10
  80. package/test/delete-user-batch_test.js +8 -8
  81. package/test/delete-user-callback_test.js +1 -1
  82. package/test/delete-user-property-batch_test.js +8 -8
  83. package/test/delete-user-property-callback_test.js +1 -1
  84. package/test/delete-user-property-test.js +19 -10
  85. package/test/delete-user-test.js +19 -10
  86. package/test/delete-view-portion-batch_test.js +5 -5
  87. package/test/delete-view-portion-test.js +6 -3
  88. package/test/get-item-property-info-batch_test.js +7 -7
  89. package/test/get-item-values-batch_test.js +6 -6
  90. package/test/get-user-property-info-batch_test.js +7 -7
  91. package/test/get-user-values-batch_test.js +6 -6
  92. package/test/insert-to-group-batch_test.js +30 -20
  93. package/test/insert-to-group-test.js +6 -3
  94. package/test/insert-to-series-batch_test.js +30 -20
  95. package/test/insert-to-series-test.js +6 -3
  96. package/test/list-group-items-batch_test.js +7 -7
  97. package/test/list-groups-batch_test.js +5 -5
  98. package/test/list-item-bookmarks-batch_test.js +7 -7
  99. package/test/list-item-cart-additions-batch_test.js +7 -7
  100. package/test/list-item-detail-views-batch_test.js +7 -7
  101. package/test/list-item-properties-batch_test.js +5 -5
  102. package/test/list-item-purchases-batch_test.js +7 -7
  103. package/test/list-item-ratings-batch_test.js +7 -7
  104. package/test/list-item-view-portions-batch_test.js +7 -7
  105. package/test/list-items-batch_test.js +7 -7
  106. package/test/list-search-synonyms-batch_test.js +44 -0
  107. package/test/list-search-synonyms-callback_test.js +53 -0
  108. package/test/list-search-synonyms-test.js +41 -0
  109. package/test/list-series-batch_test.js +5 -5
  110. package/test/list-series-items-batch_test.js +7 -7
  111. package/test/list-user-bookmarks-batch_test.js +7 -7
  112. package/test/list-user-cart-additions-batch_test.js +7 -7
  113. package/test/list-user-detail-views-batch_test.js +7 -7
  114. package/test/list-user-properties-batch_test.js +5 -5
  115. package/test/list-user-purchases-batch_test.js +7 -7
  116. package/test/list-user-ratings-batch_test.js +7 -7
  117. package/test/list-user-view-portions-batch_test.js +7 -7
  118. package/test/list-users-batch_test.js +7 -7
  119. package/test/merge-users-batch_test.js +19 -14
  120. package/test/merge-users-test.js +6 -3
  121. package/test/recommend-items-to-item-batch_test.js +6 -6
  122. package/test/recommend-items-to-user-batch_test.js +6 -6
  123. package/test/recommend-next-items-batch_test.js +45 -0
  124. package/test/recommend-next-items-callback_test.js +54 -0
  125. package/test/recommend-next-items-test.js +42 -0
  126. package/test/recommend-users-to-item-batch_test.js +6 -6
  127. package/test/recommend-users-to-user-batch_test.js +6 -6
  128. package/test/remove-from-group-batch_test.js +5 -5
  129. package/test/remove-from-group-test.js +6 -3
  130. package/test/remove-from-series-batch_test.js +6 -6
  131. package/test/remove-from-series-test.js +12 -6
  132. package/test/search-items-batch_test.js +9 -9
  133. package/test/set-environment.js +6 -4
  134. package/test/set-item-values-batch_test.js +9 -9
  135. package/test/set-item-values-test.js +6 -3
  136. package/test/set-user-values-batch_test.js +9 -9
  137. package/test/set-user-values-test.js +6 -3
  138. package/test/set-view-portion-batch_test.js +10 -10
  139. package/test/set-view-portion-test.js +30 -15
  140. package/test/update-more-items-batch_test.js +35 -0
  141. package/test/update-more-items-callback_test.js +37 -0
  142. package/test/update-more-items-test.js +33 -0
  143. package/lib/requests/item-based-recommendation.js +0 -187
  144. package/lib/requests/user-based-recommendation.js +0 -168
  145. package/test/item-based-recommendation-batch_test.js +0 -41
  146. package/test/item-based-recommendation-callback_test.js +0 -65
  147. package/test/item-based-recommendation-test.js +0 -53
  148. package/test/user-based-recommendation-batch_test.js +0 -41
  149. package/test/user-based-recommendation-callback_test.js +0 -65
  150. package/test/user-based-recommendation-test.js +0 -53
@@ -0,0 +1,45 @@
1
+ /*
2
+ This file is auto-generated, do not edit
3
+ */
4
+
5
+ 'use strict'
6
+ var chai = require('chai').assert;
7
+ var recombee = require('./../index.js');
8
+ var rqs = recombee.requests;
9
+
10
+ var env = require('./set-environment.js');
11
+
12
+ describe('RecommendNextItems', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(env.setRecommEntities)
19
+ .then(()=> {
20
+ done();
21
+ });
22
+ });
23
+ it ('works in batch', (done) => {
24
+ env.client.send(new rqs.RecommendItemsToUser('entity_id',3,{'returnProperties': true}),((err,res) => {
25
+ if(err) {
26
+ chai.fail();
27
+ }
28
+ else {
29
+ let requests = [
30
+ new rqs.RecommendNextItems(res['recommId'],3),
31
+ new rqs.RecommendNextItems(res['recommId'],3)
32
+ ];
33
+
34
+ env.client.send(new rqs.Batch(requests))
35
+ .then((responses) => {
36
+ chai.equal(responses[0].code, 200);
37
+ chai.equal(responses[0].json['recomms'].length, 3);
38
+ chai.equal(responses[1].code, 200);
39
+ chai.equal(responses[1].json['recomms'].length, 3);
40
+ done();
41
+ });
42
+ }
43
+ }));
44
+ });
45
+ });
@@ -0,0 +1,54 @@
1
+ /*
2
+ This file is auto-generated, do not edit
3
+ */
4
+
5
+ 'use strict'
6
+ var chai = require('chai').assert;
7
+ var recombee = require('./../index.js');
8
+ var rqs = recombee.requests;
9
+
10
+ var env = require('./set-environment.js');
11
+
12
+ describe('RecommendNextItems', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(env.setRecommEntities)
19
+ .then(()=> {
20
+ done();
21
+ });
22
+ });
23
+
24
+ it ('recommends', (done) => {
25
+ let req, req2, resp;
26
+ req2 = new rqs.RecommendItemsToUser('entity_id',3,{'returnProperties': true});
27
+ env.client.send(req2,((err,res) => {
28
+ if(err) {
29
+ chai.fail();
30
+ }
31
+ else {
32
+ req = new rqs.RecommendNextItems(res['recommId'],3);
33
+ env.client.send(req,((err,res) => {
34
+ if(err) {
35
+ chai.fail();
36
+ }
37
+ else {
38
+ chai.equal(res['recomms'].length, 3);
39
+ req = new rqs.RecommendNextItems(res['recommId'],3);
40
+ env.client.send(req,((err,res) => {
41
+ if(err) {
42
+ chai.fail();
43
+ }
44
+ else {
45
+ chai.equal(res['recomms'].length, 3);
46
+ done();
47
+ }
48
+ }));
49
+ }
50
+ }));
51
+ }
52
+ }));
53
+ });
54
+ });
@@ -0,0 +1,42 @@
1
+ /*
2
+ This file is auto-generated, do not edit
3
+ */
4
+
5
+ 'use strict'
6
+ var chai = require('chai').assert;
7
+ var recombee = require('./../index.js');
8
+ var rqs = recombee.requests;
9
+
10
+ var env = require('./set-environment.js');
11
+
12
+ describe('RecommendNextItems', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(env.setRecommEntities)
19
+ .then(()=> {
20
+ done();
21
+ });
22
+ });
23
+
24
+ it ('recommends', (done) => {
25
+ let req, req2, resp;
26
+ req2 = new rqs.RecommendItemsToUser('entity_id',3,{'returnProperties': true});
27
+ env.client.send(req2)
28
+ .then((res) => {
29
+ req = new rqs.RecommendNextItems(res['recommId'],3);
30
+ env.client.send(req)
31
+ .then((res) => {
32
+ chai.equal(res['recomms'].length, 3);
33
+ req = new rqs.RecommendNextItems(res['recommId'],3);
34
+ env.client.send(req)
35
+ .then((res) => {
36
+ chai.equal(res['recomms'].length, 3);
37
+ done();
38
+ });
39
+ });
40
+ });
41
+ });
42
+ });
@@ -25,14 +25,14 @@ describe('RecommendUsersToItem', function(){
25
25
  new rqs.RecommendUsersToItem('entity_id',9),
26
26
  new rqs.RecommendUsersToItem('nonexisting',9,{'cascadeCreate': true}),
27
27
  new rqs.RecommendUsersToItem('nonexisting2',9,{'cascadeCreate': true,'expertSettings': {}})
28
- ];
29
-
28
+ ];
29
+
30
30
  env.client.send(new rqs.Batch(requests))
31
31
  .then((responses) => {
32
- chai.equal(responses[0].code, 200);
33
- chai.equal(responses[1].code, 200);
34
- chai.equal(responses[2].code, 200);
32
+ chai.equal(responses[0].code, 200);
33
+ chai.equal(responses[1].code, 200);
34
+ chai.equal(responses[2].code, 200);
35
35
  done();
36
36
  });
37
37
  });
38
- });
38
+ });
@@ -25,14 +25,14 @@ describe('RecommendUsersToUser', function(){
25
25
  new rqs.RecommendUsersToUser('entity_id',9),
26
26
  new rqs.RecommendUsersToUser('nonexisting',9,{'cascadeCreate': true}),
27
27
  new rqs.RecommendUsersToUser('nonexisting2',9,{'cascadeCreate': true,'expertSettings': {}})
28
- ];
29
-
28
+ ];
29
+
30
30
  env.client.send(new rqs.Batch(requests))
31
31
  .then((responses) => {
32
- chai.equal(responses[0].code, 200);
33
- chai.equal(responses[1].code, 200);
34
- chai.equal(responses[2].code, 200);
32
+ chai.equal(responses[0].code, 200);
33
+ chai.equal(responses[1].code, 200);
34
+ chai.equal(responses[2].code, 200);
35
35
  done();
36
36
  });
37
37
  });
38
- });
38
+ });
@@ -23,13 +23,13 @@ describe('RemoveFromGroup', function(){
23
23
  let requests = [
24
24
  new rqs.RemoveFromGroup('entity_id','item','entity_id'),
25
25
  new rqs.RemoveFromGroup('entity_id','item','not_contained')
26
- ];
27
-
26
+ ];
27
+
28
28
  env.client.send(new rqs.Batch(requests))
29
29
  .then((responses) => {
30
- chai.equal(responses[0].code, 200);
31
- chai.equal(responses[1].code, 404);
30
+ chai.equal(responses[0].code, 200);
31
+ chai.equal(responses[1].code, 404);
32
32
  done();
33
33
  });
34
34
  });
35
- });
35
+ });
@@ -37,9 +37,12 @@ describe('RemoveFromGroup', function(){
37
37
  chai.fail();
38
38
  done();
39
39
  })
40
- .catch(recombee.errors.ResponseError,(err) => {
41
- chai.equal(err.statusCode, 404);
42
- done();
40
+ .catch((err) => {
41
+ if (err instanceof recombee.errors.ResponseError) {
42
+ chai.equal(err.statusCode, 404);
43
+ done();
44
+ }
45
+ throw err;
43
46
  });
44
47
  });
45
48
  });
@@ -24,14 +24,14 @@ describe('RemoveFromSeries', function(){
24
24
  new rqs.RemoveFromSeries('entity_id','item','entity_id',0),
25
25
  new rqs.RemoveFromSeries('entity_id','item','entity_id',1),
26
26
  new rqs.RemoveFromSeries('entity_id','item','not_contained',1)
27
- ];
28
-
27
+ ];
28
+
29
29
  env.client.send(new rqs.Batch(requests))
30
30
  .then((responses) => {
31
- chai.equal(responses[0].code, 404);
32
- chai.equal(responses[1].code, 200);
33
- chai.equal(responses[2].code, 404);
31
+ chai.equal(responses[0].code, 404);
32
+ chai.equal(responses[1].code, 200);
33
+ chai.equal(responses[2].code, 404);
34
34
  done();
35
35
  });
36
36
  });
37
- });
37
+ });
@@ -28,9 +28,12 @@ describe('RemoveFromSeries', function(){
28
28
  chai.fail();
29
29
  done();
30
30
  })
31
- .catch(recombee.errors.ResponseError,(err) => {
32
- chai.equal(err.statusCode, 404);
33
- done();
31
+ .catch((err) => {
32
+ if (err instanceof recombee.errors.ResponseError) {
33
+ chai.equal(err.statusCode, 404);
34
+ done();
35
+ }
36
+ throw err;
34
37
  });
35
38
  });
36
39
 
@@ -51,9 +54,12 @@ describe('RemoveFromSeries', function(){
51
54
  chai.fail();
52
55
  done();
53
56
  })
54
- .catch(recombee.errors.ResponseError,(err) => {
55
- chai.equal(err.statusCode, 404);
56
- done();
57
+ .catch((err) => {
58
+ if (err instanceof recombee.errors.ResponseError) {
59
+ chai.equal(err.statusCode, 404);
60
+ done();
61
+ }
62
+ throw err;
57
63
  });
58
64
  });
59
65
  });
@@ -25,17 +25,17 @@ describe('SearchItems', function(){
25
25
  new rqs.SearchItems('entity_id','hell',9),
26
26
  new rqs.SearchItems('entity_id','sdhskldf',9),
27
27
  new rqs.SearchItems('entity_id','hell',9,{'returnProperties': true})
28
- ];
29
-
28
+ ];
29
+
30
30
  env.client.send(new rqs.Batch(requests))
31
31
  .then((responses) => {
32
- chai.equal(responses[0].code, 200);
33
- chai.equal(responses[0].json['recomms'].length, 1);
34
- chai.equal(responses[1].code, 200);
35
- chai.equal(responses[1].json['recomms'].length, 0);
36
- chai.equal(responses[2].code, 200);
37
- chai.equal(responses[2].json['recomms'].length, 1);
32
+ chai.equal(responses[0].code, 200);
33
+ chai.equal(responses[0].json['recomms'].length, 1);
34
+ chai.equal(responses[1].code, 200);
35
+ chai.equal(responses[1].json['recomms'].length, 0);
36
+ chai.equal(responses[2].code, 200);
37
+ chai.equal(responses[2].json['recomms'].length, 1);
38
38
  done();
39
39
  });
40
40
  });
41
- });
41
+ });
@@ -4,7 +4,7 @@ var recombee = require('./../index.js');
4
4
  var rqs = recombee.requests;
5
5
  var errs = recombee.errors;
6
6
 
7
- var client = new recombee.ApiClient('client-test', 'jGGQ6ZKa8rQ1zTAyxTc0EMn55YPF7FJLUtaMLhbsGxmvwxgTwXYqmUk5xVZFw98L');
7
+ var client = new recombee.ApiClient('client-test', 'jGGQ6ZKa8rQ1zTAyxTc0EMn55YPF7FJLUtaMLhbsGxmvwxgTwXYqmUk5xVZFw98L', {'region': 'eu-west'});
8
8
 
9
9
  var _setEnvironmentData = (() => {
10
10
  let requests = new rqs.Batch([
@@ -37,12 +37,14 @@ var _checkDbErased = (() => {
37
37
  .then((resp) => {
38
38
  return _setEnvironmentData();
39
39
  })
40
- .catch(errs.ResponseError,
41
- (err) => {
40
+ .catch((err) => {
41
+ if (err instanceof errs.ResponseError && err.statusCode === 422) {
42
42
  // Wait until DB is erased
43
43
  return _delay(2000).then(() => {
44
44
  return _checkDbErased();
45
- })
45
+ });
46
+ }
47
+ throw err;
46
48
  })
47
49
  });
48
50
 
@@ -27,17 +27,17 @@ describe('SetItemValues', function(){
27
27
  new rqs.SetItemValues('new_entity',{'int_property': 5,'str_property': 'test','!cascadeCreate': true}),
28
28
  new rqs.SetItemValues('new_entity2',{'int_property': 5,'str_property': 'test'},{'cascadeCreate': true}),
29
29
  new rqs.SetItemValues('nonexisting',{'int_property': 5})
30
- ];
31
-
30
+ ];
31
+
32
32
  env.client.send(new rqs.Batch(requests))
33
33
  .then((responses) => {
34
- chai.equal(responses[0].code, 200);
35
- chai.equal(responses[1].code, 200);
36
- chai.equal(responses[2].code, 200);
37
- chai.equal(responses[3].code, 200);
38
- chai.equal(responses[4].code, 200);
39
- chai.equal(responses[5].code, 404);
34
+ chai.equal(responses[0].code, 200);
35
+ chai.equal(responses[1].code, 200);
36
+ chai.equal(responses[2].code, 200);
37
+ chai.equal(responses[3].code, 200);
38
+ chai.equal(responses[4].code, 200);
39
+ chai.equal(responses[5].code, 404);
40
40
  done();
41
41
  });
42
42
  });
43
- });
43
+ });
@@ -73,9 +73,12 @@ describe('SetItemValues', function(){
73
73
  chai.fail();
74
74
  done();
75
75
  })
76
- .catch(recombee.errors.ResponseError,(err) => {
77
- chai.equal(err.statusCode, 404);
78
- done();
76
+ .catch((err) => {
77
+ if (err instanceof recombee.errors.ResponseError) {
78
+ chai.equal(err.statusCode, 404);
79
+ done();
80
+ }
81
+ throw err;
79
82
  });
80
83
  });
81
84
  });
@@ -27,17 +27,17 @@ describe('SetUserValues', function(){
27
27
  new rqs.SetUserValues('new_entity',{'int_property': 5,'str_property': 'test','!cascadeCreate': true}),
28
28
  new rqs.SetUserValues('new_entity2',{'int_property': 5,'str_property': 'test'},{'cascadeCreate': true}),
29
29
  new rqs.SetUserValues('nonexisting',{'int_property': 5})
30
- ];
31
-
30
+ ];
31
+
32
32
  env.client.send(new rqs.Batch(requests))
33
33
  .then((responses) => {
34
- chai.equal(responses[0].code, 200);
35
- chai.equal(responses[1].code, 200);
36
- chai.equal(responses[2].code, 200);
37
- chai.equal(responses[3].code, 200);
38
- chai.equal(responses[4].code, 200);
39
- chai.equal(responses[5].code, 404);
34
+ chai.equal(responses[0].code, 200);
35
+ chai.equal(responses[1].code, 200);
36
+ chai.equal(responses[2].code, 200);
37
+ chai.equal(responses[3].code, 200);
38
+ chai.equal(responses[4].code, 200);
39
+ chai.equal(responses[5].code, 404);
40
40
  done();
41
41
  });
42
42
  });
43
- });
43
+ });
@@ -73,9 +73,12 @@ describe('SetUserValues', function(){
73
73
  chai.fail();
74
74
  done();
75
75
  })
76
- .catch(recombee.errors.ResponseError,(err) => {
77
- chai.equal(err.statusCode, 404);
78
- done();
76
+ .catch((err) => {
77
+ if (err instanceof recombee.errors.ResponseError) {
78
+ chai.equal(err.statusCode, 404);
79
+ done();
80
+ }
81
+ throw err;
79
82
  });
80
83
  });
81
84
  });
@@ -28,18 +28,18 @@ describe('SetViewPortion', function(){
28
28
  new rqs.SetViewPortion('entity_id','entity_id',0,{'timestamp': -15}),
29
29
  new rqs.SetViewPortion('entity_id','entity_id',-2),
30
30
  new rqs.SetViewPortion('entity_id','entity_id',0.7,{'sessionId': 'a****'})
31
- ];
32
-
31
+ ];
32
+
33
33
  env.client.send(new rqs.Batch(requests))
34
34
  .then((responses) => {
35
- chai.equal(responses[0].code, 200);
36
- chai.equal(responses[1].code, 200);
37
- chai.equal(responses[2].code, 404);
38
- chai.equal(responses[3].code, 404);
39
- chai.equal(responses[4].code, 400);
40
- chai.equal(responses[5].code, 400);
41
- chai.equal(responses[6].code, 400);
35
+ chai.equal(responses[0].code, 200);
36
+ chai.equal(responses[1].code, 200);
37
+ chai.equal(responses[2].code, 404);
38
+ chai.equal(responses[3].code, 404);
39
+ chai.equal(responses[4].code, 400);
40
+ chai.equal(responses[5].code, 400);
41
+ chai.equal(responses[6].code, 400);
42
42
  done();
43
43
  });
44
44
  });
45
- });
45
+ });
@@ -46,9 +46,12 @@ describe('SetViewPortion', function(){
46
46
  chai.fail();
47
47
  done();
48
48
  })
49
- .catch(recombee.errors.ResponseError,(err) => {
50
- chai.equal(err.statusCode, 404);
51
- done();
49
+ .catch((err) => {
50
+ if (err instanceof recombee.errors.ResponseError) {
51
+ chai.equal(err.statusCode, 404);
52
+ done();
53
+ }
54
+ throw err;
52
55
  });
53
56
  });
54
57
 
@@ -60,9 +63,12 @@ describe('SetViewPortion', function(){
60
63
  chai.fail();
61
64
  done();
62
65
  })
63
- .catch(recombee.errors.ResponseError,(err) => {
64
- chai.equal(err.statusCode, 404);
65
- done();
66
+ .catch((err) => {
67
+ if (err instanceof recombee.errors.ResponseError) {
68
+ chai.equal(err.statusCode, 404);
69
+ done();
70
+ }
71
+ throw err;
66
72
  });
67
73
  });
68
74
 
@@ -74,9 +80,12 @@ describe('SetViewPortion', function(){
74
80
  chai.fail();
75
81
  done();
76
82
  })
77
- .catch(recombee.errors.ResponseError,(err) => {
78
- chai.equal(err.statusCode, 400);
79
- done();
83
+ .catch((err) => {
84
+ if (err instanceof recombee.errors.ResponseError) {
85
+ chai.equal(err.statusCode, 400);
86
+ done();
87
+ }
88
+ throw err;
80
89
  });
81
90
  });
82
91
 
@@ -88,9 +97,12 @@ describe('SetViewPortion', function(){
88
97
  chai.fail();
89
98
  done();
90
99
  })
91
- .catch(recombee.errors.ResponseError,(err) => {
92
- chai.equal(err.statusCode, 400);
93
- done();
100
+ .catch((err) => {
101
+ if (err instanceof recombee.errors.ResponseError) {
102
+ chai.equal(err.statusCode, 400);
103
+ done();
104
+ }
105
+ throw err;
94
106
  });
95
107
  });
96
108
 
@@ -102,9 +114,12 @@ describe('SetViewPortion', function(){
102
114
  chai.fail();
103
115
  done();
104
116
  })
105
- .catch(recombee.errors.ResponseError,(err) => {
106
- chai.equal(err.statusCode, 400);
107
- done();
117
+ .catch((err) => {
118
+ if (err instanceof recombee.errors.ResponseError) {
119
+ chai.equal(err.statusCode, 400);
120
+ done();
121
+ }
122
+ throw err;
108
123
  });
109
124
  });
110
125
  });
@@ -0,0 +1,35 @@
1
+ /*
2
+ This file is auto-generated, do not edit
3
+ */
4
+
5
+ 'use strict'
6
+ var chai = require('chai').assert;
7
+ var recombee = require('./../index.js');
8
+ var rqs = recombee.requests;
9
+
10
+ var env = require('./set-environment.js');
11
+
12
+ describe('UpdateMoreItems', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(()=> {
19
+ done();
20
+ });
21
+ });
22
+ it ('works in batch', (done) => {
23
+ let requests = [
24
+ new rqs.UpdateMoreItems('\'int_property\' == 42',{'int_property': 77})
25
+ ];
26
+
27
+ env.client.send(new rqs.Batch(requests))
28
+ .then((responses) => {
29
+ chai.equal(responses[0].code, 200);
30
+ chai.equal(responses[0].json['itemIds'].length, 1);
31
+ chai.deepEqual(1, responses[0].json['count']);
32
+ done();
33
+ });
34
+ });
35
+ });
@@ -0,0 +1,37 @@
1
+ /*
2
+ This file is auto-generated, do not edit
3
+ */
4
+
5
+ 'use strict'
6
+ var chai = require('chai').assert;
7
+ var recombee = require('./../index.js');
8
+ var rqs = recombee.requests;
9
+
10
+ var env = require('./set-environment.js');
11
+
12
+ describe('UpdateMoreItems', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(()=> {
19
+ done();
20
+ });
21
+ });
22
+
23
+ it ('updates more items', (done) => {
24
+ let req, req2, resp;
25
+ req = new rqs.UpdateMoreItems('\'int_property\' == 42',{'int_property': 77});
26
+ env.client.send(req,((err,res) => {
27
+ if(err) {
28
+ chai.fail();
29
+ }
30
+ else {
31
+ chai.equal(res['itemIds'].length, 1);
32
+ chai.deepEqual(1, res['count']);
33
+ done();
34
+ }
35
+ }));
36
+ });
37
+ });
@@ -0,0 +1,33 @@
1
+ /*
2
+ This file is auto-generated, do not edit
3
+ */
4
+
5
+ 'use strict'
6
+ var chai = require('chai').assert;
7
+ var recombee = require('./../index.js');
8
+ var rqs = recombee.requests;
9
+
10
+ var env = require('./set-environment.js');
11
+
12
+ describe('UpdateMoreItems', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(()=> {
19
+ done();
20
+ });
21
+ });
22
+
23
+ it ('updates more items', (done) => {
24
+ let req, req2, resp;
25
+ req = new rqs.UpdateMoreItems('\'int_property\' == 42',{'int_property': 77});
26
+ env.client.send(req)
27
+ .then((res) => {
28
+ chai.equal(res['itemIds'].length, 1);
29
+ chai.deepEqual(1, res['count']);
30
+ done();
31
+ });
32
+ });
33
+ });