recombee-api-client 3.2.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 (55) hide show
  1. package/README.md +2 -2
  2. package/lib/api-client.js +49 -37
  3. package/lib/requests/delete-item.js +1 -1
  4. package/lib/requests/delete-more-items.js +44 -0
  5. package/lib/requests/delete-user.js +1 -1
  6. package/lib/requests/index.js +2 -2
  7. package/lib/requests/recommend-items-to-user.js +1 -1
  8. package/lib/requests/update-more-items.js +53 -0
  9. package/package.json +2 -3
  10. package/test/add-bookmark-test.js +24 -12
  11. package/test/add-cart-addition-test.js +24 -12
  12. package/test/add-detail-view-test.js +24 -12
  13. package/test/add-group-test.js +12 -6
  14. package/test/add-item-property-test.js +12 -6
  15. package/test/add-item-test.js +12 -6
  16. package/test/add-purchase-test.js +24 -12
  17. package/test/add-rating-test.js +30 -15
  18. package/test/add-search-synonym-test.js +6 -3
  19. package/test/add-series-test.js +12 -6
  20. package/test/add-user-property-test.js +12 -6
  21. package/test/add-user-test.js +12 -6
  22. package/test/delete-bookmark-test.js +6 -3
  23. package/test/delete-cart-addition-test.js +6 -3
  24. package/test/delete-detail-view-test.js +6 -3
  25. package/test/delete-group-test.js +18 -9
  26. package/test/delete-item-property-test.js +18 -9
  27. package/test/delete-item-test.js +18 -9
  28. package/test/{user-based-recommendation-batch_test.js → delete-more-items-batch_test.js} +4 -10
  29. package/test/delete-more-items-callback_test.js +37 -0
  30. package/test/delete-more-items-test.js +33 -0
  31. package/test/delete-purchase-test.js +6 -3
  32. package/test/delete-rating-test.js +6 -3
  33. package/test/delete-search-synonym-test.js +6 -3
  34. package/test/delete-series-test.js +18 -9
  35. package/test/delete-user-property-test.js +18 -9
  36. package/test/delete-user-test.js +18 -9
  37. package/test/delete-view-portion-test.js +6 -3
  38. package/test/insert-to-group-test.js +6 -3
  39. package/test/insert-to-series-test.js +6 -3
  40. package/test/merge-users-test.js +6 -3
  41. package/test/remove-from-group-test.js +6 -3
  42. package/test/remove-from-series-test.js +12 -6
  43. package/test/set-environment.js +6 -4
  44. package/test/set-item-values-test.js +6 -3
  45. package/test/set-user-values-test.js +6 -3
  46. package/test/set-view-portion-test.js +30 -15
  47. package/test/{item-based-recommendation-batch_test.js → update-more-items-batch_test.js} +4 -10
  48. package/test/update-more-items-callback_test.js +37 -0
  49. package/test/update-more-items-test.js +33 -0
  50. package/lib/requests/item-based-recommendation.js +0 -187
  51. package/lib/requests/user-based-recommendation.js +0 -168
  52. package/test/item-based-recommendation-callback_test.js +0 -65
  53. package/test/item-based-recommendation-test.js +0 -53
  54. package/test/user-based-recommendation-callback_test.js +0 -65
  55. package/test/user-based-recommendation-test.js +0 -53
@@ -55,9 +55,12 @@ describe('AddPurchase', function(){
55
55
  chai.fail();
56
56
  done();
57
57
  })
58
- .catch(recombee.errors.ResponseError,(err) => {
59
- chai.equal(err.statusCode, 404);
60
- done();
58
+ .catch((err) => {
59
+ if (err instanceof recombee.errors.ResponseError) {
60
+ chai.equal(err.statusCode, 404);
61
+ done();
62
+ }
63
+ throw err;
61
64
  });
62
65
  });
63
66
 
@@ -69,9 +72,12 @@ describe('AddPurchase', function(){
69
72
  chai.fail();
70
73
  done();
71
74
  })
72
- .catch(recombee.errors.ResponseError,(err) => {
73
- chai.equal(err.statusCode, 404);
74
- done();
75
+ .catch((err) => {
76
+ if (err instanceof recombee.errors.ResponseError) {
77
+ chai.equal(err.statusCode, 404);
78
+ done();
79
+ }
80
+ throw err;
75
81
  });
76
82
  });
77
83
 
@@ -83,9 +89,12 @@ describe('AddPurchase', function(){
83
89
  chai.fail();
84
90
  done();
85
91
  })
86
- .catch(recombee.errors.ResponseError,(err) => {
87
- chai.equal(err.statusCode, 400);
88
- done();
92
+ .catch((err) => {
93
+ if (err instanceof recombee.errors.ResponseError) {
94
+ chai.equal(err.statusCode, 400);
95
+ done();
96
+ }
97
+ throw err;
89
98
  });
90
99
  });
91
100
 
@@ -99,9 +108,12 @@ describe('AddPurchase', function(){
99
108
  chai.fail();
100
109
  done();
101
110
  })
102
- .catch(recombee.errors.ResponseError,(err) => {
103
- chai.equal(err.statusCode, 409);
104
- done();
111
+ .catch((err) => {
112
+ if (err instanceof recombee.errors.ResponseError) {
113
+ chai.equal(err.statusCode, 409);
114
+ done();
115
+ }
116
+ throw err;
105
117
  });
106
118
  });
107
119
  });
@@ -46,9 +46,12 @@ describe('AddRating', 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('AddRating', 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('AddRating', 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('AddRating', 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
 
@@ -104,9 +116,12 @@ describe('AddRating', function(){
104
116
  chai.fail();
105
117
  done();
106
118
  })
107
- .catch(recombee.errors.ResponseError,(err) => {
108
- chai.equal(err.statusCode, 409);
109
- done();
119
+ .catch((err) => {
120
+ if (err instanceof recombee.errors.ResponseError) {
121
+ chai.equal(err.statusCode, 409);
122
+ done();
123
+ }
124
+ throw err;
110
125
  });
111
126
  });
112
127
  });
@@ -33,9 +33,12 @@ describe('AddSearchSynonym', function(){
33
33
  chai.fail();
34
34
  done();
35
35
  })
36
- .catch(recombee.errors.ResponseError,(err) => {
37
- chai.equal(err.statusCode, 409);
38
- done();
36
+ .catch((err) => {
37
+ if (err instanceof recombee.errors.ResponseError) {
38
+ chai.equal(err.statusCode, 409);
39
+ done();
40
+ }
41
+ throw err;
39
42
  });
40
43
  });
41
44
  });
@@ -37,9 +37,12 @@ describe('AddSeries', function(){
37
37
  chai.fail();
38
38
  done();
39
39
  })
40
- .catch(recombee.errors.ResponseError,(err) => {
41
- chai.equal(err.statusCode, 400);
42
- done();
40
+ .catch((err) => {
41
+ if (err instanceof recombee.errors.ResponseError) {
42
+ chai.equal(err.statusCode, 400);
43
+ done();
44
+ }
45
+ throw err;
43
46
  });
44
47
  });
45
48
 
@@ -53,9 +56,12 @@ describe('AddSeries', function(){
53
56
  chai.fail();
54
57
  done();
55
58
  })
56
- .catch(recombee.errors.ResponseError,(err) => {
57
- chai.equal(err.statusCode, 409);
58
- done();
59
+ .catch((err) => {
60
+ if (err instanceof recombee.errors.ResponseError) {
61
+ chai.equal(err.statusCode, 409);
62
+ done();
63
+ }
64
+ throw err;
59
65
  });
60
66
  });
61
67
  });
@@ -41,9 +41,12 @@ describe('AddUserProperty', function(){
41
41
  chai.fail();
42
42
  done();
43
43
  })
44
- .catch(recombee.errors.ResponseError,(err) => {
45
- chai.equal(err.statusCode, 400);
46
- done();
44
+ .catch((err) => {
45
+ if (err instanceof recombee.errors.ResponseError) {
46
+ chai.equal(err.statusCode, 400);
47
+ done();
48
+ }
49
+ throw err;
47
50
  });
48
51
  });
49
52
 
@@ -57,9 +60,12 @@ describe('AddUserProperty', function(){
57
60
  chai.fail();
58
61
  done();
59
62
  })
60
- .catch(recombee.errors.ResponseError,(err) => {
61
- chai.equal(err.statusCode, 409);
62
- done();
63
+ .catch((err) => {
64
+ if (err instanceof recombee.errors.ResponseError) {
65
+ chai.equal(err.statusCode, 409);
66
+ done();
67
+ }
68
+ throw err;
63
69
  });
64
70
  });
65
71
  });
@@ -37,9 +37,12 @@ describe('AddUser', function(){
37
37
  chai.fail();
38
38
  done();
39
39
  })
40
- .catch(recombee.errors.ResponseError,(err) => {
41
- chai.equal(err.statusCode, 400);
42
- done();
40
+ .catch((err) => {
41
+ if (err instanceof recombee.errors.ResponseError) {
42
+ chai.equal(err.statusCode, 400);
43
+ done();
44
+ }
45
+ throw err;
43
46
  });
44
47
  });
45
48
 
@@ -53,9 +56,12 @@ describe('AddUser', function(){
53
56
  chai.fail();
54
57
  done();
55
58
  })
56
- .catch(recombee.errors.ResponseError,(err) => {
57
- chai.equal(err.statusCode, 409);
58
- done();
59
+ .catch((err) => {
60
+ if (err instanceof recombee.errors.ResponseError) {
61
+ chai.equal(err.statusCode, 409);
62
+ done();
63
+ }
64
+ throw err;
59
65
  });
60
66
  });
61
67
  });
@@ -32,9 +32,12 @@ describe('DeleteBookmark', function(){
32
32
  chai.fail();
33
33
  done();
34
34
  })
35
- .catch(recombee.errors.ResponseError,(err) => {
36
- chai.equal(err.statusCode, 404);
37
- done();
35
+ .catch((err) => {
36
+ if (err instanceof recombee.errors.ResponseError) {
37
+ chai.equal(err.statusCode, 404);
38
+ done();
39
+ }
40
+ throw err;
38
41
  });
39
42
  });
40
43
  });
@@ -32,9 +32,12 @@ describe('DeleteCartAddition', function(){
32
32
  chai.fail();
33
33
  done();
34
34
  })
35
- .catch(recombee.errors.ResponseError,(err) => {
36
- chai.equal(err.statusCode, 404);
37
- done();
35
+ .catch((err) => {
36
+ if (err instanceof recombee.errors.ResponseError) {
37
+ chai.equal(err.statusCode, 404);
38
+ done();
39
+ }
40
+ throw err;
38
41
  });
39
42
  });
40
43
  });
@@ -32,9 +32,12 @@ describe('DeleteDetailView', function(){
32
32
  chai.fail();
33
33
  done();
34
34
  })
35
- .catch(recombee.errors.ResponseError,(err) => {
36
- chai.equal(err.statusCode, 404);
37
- done();
35
+ .catch((err) => {
36
+ if (err instanceof recombee.errors.ResponseError) {
37
+ chai.equal(err.statusCode, 404);
38
+ done();
39
+ }
40
+ throw err;
38
41
  });
39
42
  });
40
43
  });
@@ -30,9 +30,12 @@ describe('DeleteGroup', function(){
30
30
  chai.fail();
31
31
  done();
32
32
  })
33
- .catch(recombee.errors.ResponseError,(err) => {
34
- chai.equal(err.statusCode, 404);
35
- done();
33
+ .catch((err) => {
34
+ if (err instanceof recombee.errors.ResponseError) {
35
+ chai.equal(err.statusCode, 404);
36
+ done();
37
+ }
38
+ throw err;
36
39
  });
37
40
  });
38
41
  });
@@ -45,9 +48,12 @@ describe('DeleteGroup', function(){
45
48
  chai.fail();
46
49
  done();
47
50
  })
48
- .catch(recombee.errors.ResponseError,(err) => {
49
- chai.equal(err.statusCode, 400);
50
- done();
51
+ .catch((err) => {
52
+ if (err instanceof recombee.errors.ResponseError) {
53
+ chai.equal(err.statusCode, 400);
54
+ done();
55
+ }
56
+ throw err;
51
57
  });
52
58
  });
53
59
 
@@ -59,9 +65,12 @@ describe('DeleteGroup', function(){
59
65
  chai.fail();
60
66
  done();
61
67
  })
62
- .catch(recombee.errors.ResponseError,(err) => {
63
- chai.equal(err.statusCode, 404);
64
- done();
68
+ .catch((err) => {
69
+ if (err instanceof recombee.errors.ResponseError) {
70
+ chai.equal(err.statusCode, 404);
71
+ done();
72
+ }
73
+ throw err;
65
74
  });
66
75
  });
67
76
  });
@@ -30,9 +30,12 @@ describe('DeleteItemProperty', function(){
30
30
  chai.fail();
31
31
  done();
32
32
  })
33
- .catch(recombee.errors.ResponseError,(err) => {
34
- chai.equal(err.statusCode, 404);
35
- done();
33
+ .catch((err) => {
34
+ if (err instanceof recombee.errors.ResponseError) {
35
+ chai.equal(err.statusCode, 404);
36
+ done();
37
+ }
38
+ throw err;
36
39
  });
37
40
  });
38
41
  });
@@ -45,9 +48,12 @@ describe('DeleteItemProperty', function(){
45
48
  chai.fail();
46
49
  done();
47
50
  })
48
- .catch(recombee.errors.ResponseError,(err) => {
49
- chai.equal(err.statusCode, 400);
50
- done();
51
+ .catch((err) => {
52
+ if (err instanceof recombee.errors.ResponseError) {
53
+ chai.equal(err.statusCode, 400);
54
+ done();
55
+ }
56
+ throw err;
51
57
  });
52
58
  });
53
59
 
@@ -59,9 +65,12 @@ describe('DeleteItemProperty', function(){
59
65
  chai.fail();
60
66
  done();
61
67
  })
62
- .catch(recombee.errors.ResponseError,(err) => {
63
- chai.equal(err.statusCode, 404);
64
- done();
68
+ .catch((err) => {
69
+ if (err instanceof recombee.errors.ResponseError) {
70
+ chai.equal(err.statusCode, 404);
71
+ done();
72
+ }
73
+ throw err;
65
74
  });
66
75
  });
67
76
  });
@@ -30,9 +30,12 @@ describe('DeleteItem', function(){
30
30
  chai.fail();
31
31
  done();
32
32
  })
33
- .catch(recombee.errors.ResponseError,(err) => {
34
- chai.equal(err.statusCode, 404);
35
- done();
33
+ .catch((err) => {
34
+ if (err instanceof recombee.errors.ResponseError) {
35
+ chai.equal(err.statusCode, 404);
36
+ done();
37
+ }
38
+ throw err;
36
39
  });
37
40
  });
38
41
  });
@@ -45,9 +48,12 @@ describe('DeleteItem', function(){
45
48
  chai.fail();
46
49
  done();
47
50
  })
48
- .catch(recombee.errors.ResponseError,(err) => {
49
- chai.equal(err.statusCode, 400);
50
- done();
51
+ .catch((err) => {
52
+ if (err instanceof recombee.errors.ResponseError) {
53
+ chai.equal(err.statusCode, 400);
54
+ done();
55
+ }
56
+ throw err;
51
57
  });
52
58
  });
53
59
 
@@ -59,9 +65,12 @@ describe('DeleteItem', function(){
59
65
  chai.fail();
60
66
  done();
61
67
  })
62
- .catch(recombee.errors.ResponseError,(err) => {
63
- chai.equal(err.statusCode, 404);
64
- done();
68
+ .catch((err) => {
69
+ if (err instanceof recombee.errors.ResponseError) {
70
+ chai.equal(err.statusCode, 404);
71
+ done();
72
+ }
73
+ throw err;
65
74
  });
66
75
  });
67
76
  });
@@ -9,32 +9,26 @@ var rqs = recombee.requests;
9
9
 
10
10
  var env = require('./set-environment.js');
11
11
 
12
- describe('UserBasedRecommendation', function(){
12
+ describe('DeleteMoreItems', function(){
13
13
  this.timeout(150000);
14
14
 
15
15
  before(function(done){
16
16
 
17
17
  env.setEnvironment()
18
- .then(env.setRecommEntities)
19
18
  .then(()=> {
20
19
  done();
21
20
  });
22
21
  });
23
22
  it ('works in batch', (done) => {
24
23
  let requests = [
25
- new rqs.UserBasedRecommendation('entity_id',9),
26
- new rqs.UserBasedRecommendation('nonexisting',9,{'cascadeCreate': true}),
27
- new rqs.UserBasedRecommendation('nonexisting2',9,{'cascadeCreate': true,'expertSettings': {}})
24
+ new rqs.DeleteMoreItems('\'int_property\' == 42')
28
25
  ];
29
26
 
30
27
  env.client.send(new rqs.Batch(requests))
31
28
  .then((responses) => {
32
29
  chai.equal(responses[0].code, 200);
33
- chai.equal(responses[0].json.length, 9);
34
- chai.equal(responses[1].code, 200);
35
- chai.equal(responses[1].json.length, 9);
36
- chai.equal(responses[2].code, 200);
37
- chai.equal(responses[2].json.length, 9);
30
+ chai.equal(responses[0].json['itemIds'].length, 1);
31
+ chai.deepEqual(1, responses[0].json['count']);
38
32
  done();
39
33
  });
40
34
  });
@@ -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('DeleteMoreItems', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(()=> {
19
+ done();
20
+ });
21
+ });
22
+
23
+ it ('deletes more items', (done) => {
24
+ let req, req2, resp;
25
+ req = new rqs.DeleteMoreItems('\'int_property\' == 42');
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('DeleteMoreItems', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(()=> {
19
+ done();
20
+ });
21
+ });
22
+
23
+ it ('deletes more items', (done) => {
24
+ let req, req2, resp;
25
+ req = new rqs.DeleteMoreItems('\'int_property\' == 42');
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
+ });
@@ -32,9 +32,12 @@ describe('DeletePurchase', function(){
32
32
  chai.fail();
33
33
  done();
34
34
  })
35
- .catch(recombee.errors.ResponseError,(err) => {
36
- chai.equal(err.statusCode, 404);
37
- done();
35
+ .catch((err) => {
36
+ if (err instanceof recombee.errors.ResponseError) {
37
+ chai.equal(err.statusCode, 404);
38
+ done();
39
+ }
40
+ throw err;
38
41
  });
39
42
  });
40
43
  });
@@ -32,9 +32,12 @@ describe('DeleteRating', function(){
32
32
  chai.fail();
33
33
  done();
34
34
  })
35
- .catch(recombee.errors.ResponseError,(err) => {
36
- chai.equal(err.statusCode, 404);
37
- done();
35
+ .catch((err) => {
36
+ if (err instanceof recombee.errors.ResponseError) {
37
+ chai.equal(err.statusCode, 404);
38
+ done();
39
+ }
40
+ throw err;
38
41
  });
39
42
  });
40
43
  });
@@ -34,9 +34,12 @@ describe('DeleteSearchSynonym', function(){
34
34
  chai.fail();
35
35
  done();
36
36
  })
37
- .catch(recombee.errors.ResponseError,(err) => {
38
- chai.equal(err.statusCode, 404);
39
- done();
37
+ .catch((err) => {
38
+ if (err instanceof recombee.errors.ResponseError) {
39
+ chai.equal(err.statusCode, 404);
40
+ done();
41
+ }
42
+ throw err;
40
43
  });
41
44
  });
42
45
  });
@@ -30,9 +30,12 @@ describe('DeleteSeries', function(){
30
30
  chai.fail();
31
31
  done();
32
32
  })
33
- .catch(recombee.errors.ResponseError,(err) => {
34
- chai.equal(err.statusCode, 404);
35
- done();
33
+ .catch((err) => {
34
+ if (err instanceof recombee.errors.ResponseError) {
35
+ chai.equal(err.statusCode, 404);
36
+ done();
37
+ }
38
+ throw err;
36
39
  });
37
40
  });
38
41
  });
@@ -45,9 +48,12 @@ describe('DeleteSeries', function(){
45
48
  chai.fail();
46
49
  done();
47
50
  })
48
- .catch(recombee.errors.ResponseError,(err) => {
49
- chai.equal(err.statusCode, 400);
50
- done();
51
+ .catch((err) => {
52
+ if (err instanceof recombee.errors.ResponseError) {
53
+ chai.equal(err.statusCode, 400);
54
+ done();
55
+ }
56
+ throw err;
51
57
  });
52
58
  });
53
59
 
@@ -59,9 +65,12 @@ describe('DeleteSeries', function(){
59
65
  chai.fail();
60
66
  done();
61
67
  })
62
- .catch(recombee.errors.ResponseError,(err) => {
63
- chai.equal(err.statusCode, 404);
64
- done();
68
+ .catch((err) => {
69
+ if (err instanceof recombee.errors.ResponseError) {
70
+ chai.equal(err.statusCode, 404);
71
+ done();
72
+ }
73
+ throw err;
65
74
  });
66
75
  });
67
76
  });