recombee-api-client 4.0.0 → 4.1.1

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 (122) hide show
  1. package/lib/api-client.js +4 -3
  2. package/lib/index.d.ts +3202 -0
  3. package/lib/requests/add-bookmark.js +3 -3
  4. package/lib/requests/add-cart-addition.js +5 -5
  5. package/lib/requests/add-detail-view.js +3 -3
  6. package/lib/requests/add-group.js +1 -1
  7. package/lib/requests/add-item-property.js +1 -1
  8. package/lib/requests/add-item.js +2 -2
  9. package/lib/requests/add-manual-reql-segment.js +58 -0
  10. package/lib/requests/add-purchase.js +6 -6
  11. package/lib/requests/add-rating.js +3 -3
  12. package/lib/requests/add-series.js +1 -1
  13. package/lib/requests/add-user-property.js +2 -2
  14. package/lib/requests/create-auto-reql-segmentation.js +66 -0
  15. package/lib/requests/create-manual-reql-segmentation.js +63 -0
  16. package/lib/requests/create-property-based-segmentation.js +67 -0
  17. package/lib/requests/delete-bookmark.js +3 -3
  18. package/lib/requests/delete-cart-addition.js +3 -3
  19. package/lib/requests/delete-detail-view.js +3 -3
  20. package/lib/requests/delete-group.js +2 -2
  21. package/lib/requests/delete-item.js +2 -2
  22. package/lib/requests/delete-manual-reql-segment.js +44 -0
  23. package/lib/requests/delete-more-items.js +4 -4
  24. package/lib/requests/delete-purchase.js +3 -3
  25. package/lib/requests/delete-rating.js +2 -2
  26. package/lib/requests/delete-search-synonym.js +1 -1
  27. package/lib/requests/delete-segmentation.js +42 -0
  28. package/lib/requests/delete-series.js +1 -1
  29. package/lib/requests/delete-user-property.js +1 -1
  30. package/lib/requests/delete-user.js +1 -1
  31. package/lib/requests/get-item-values.js +2 -2
  32. package/lib/requests/get-segmentation.js +42 -0
  33. package/lib/requests/get-user-values.js +2 -2
  34. package/lib/requests/index.js +16 -0
  35. package/lib/requests/insert-to-group.js +2 -2
  36. package/lib/requests/insert-to-series.js +2 -2
  37. package/lib/requests/list-group-items.js +1 -1
  38. package/lib/requests/list-item-bookmarks.js +2 -2
  39. package/lib/requests/list-item-cart-additions.js +2 -2
  40. package/lib/requests/list-item-detail-views.js +2 -2
  41. package/lib/requests/list-item-purchases.js +2 -2
  42. package/lib/requests/list-item-ratings.js +2 -2
  43. package/lib/requests/list-item-view-portions.js +2 -2
  44. package/lib/requests/list-items.js +1 -1
  45. package/lib/requests/list-segmentations.js +43 -0
  46. package/lib/requests/list-series-items.js +2 -2
  47. package/lib/requests/list-user-bookmarks.js +1 -1
  48. package/lib/requests/list-user-cart-additions.js +1 -1
  49. package/lib/requests/list-user-detail-views.js +1 -1
  50. package/lib/requests/list-user-purchases.js +1 -1
  51. package/lib/requests/list-user-ratings.js +1 -1
  52. package/lib/requests/list-user-view-portions.js +1 -1
  53. package/lib/requests/list-users.js +1 -1
  54. package/lib/requests/merge-users.js +2 -2
  55. package/lib/requests/recommend-item-segments-to-item-segment.js +125 -0
  56. package/lib/requests/recommend-item-segments-to-item.js +125 -0
  57. package/lib/requests/recommend-item-segments-to-user.js +110 -0
  58. package/lib/requests/recommend-items-to-item.js +28 -28
  59. package/lib/requests/recommend-items-to-user.js +25 -25
  60. package/lib/requests/recommend-next-items.js +2 -2
  61. package/lib/requests/recommend-users-to-item.js +20 -20
  62. package/lib/requests/recommend-users-to-user.js +23 -23
  63. package/lib/requests/request.js +0 -1
  64. package/lib/requests/reset-database.js +1 -1
  65. package/lib/requests/search-item-segments.js +112 -0
  66. package/lib/requests/search-items.js +19 -19
  67. package/lib/requests/set-user-values.js +0 -1
  68. package/lib/requests/set-view-portion.js +5 -5
  69. package/lib/requests/update-auto-reql-segmentation.js +66 -0
  70. package/lib/requests/update-manual-reql-segment.js +57 -0
  71. package/lib/requests/update-manual-reql-segmentation.js +59 -0
  72. package/lib/requests/update-more-items.js +4 -4
  73. package/lib/requests/update-property-based-segmentation.js +66 -0
  74. package/package.json +2 -1
  75. package/test/add-manual-reql-segment-batch_test.js +40 -0
  76. package/test/add-manual-reql-segment-callback_test.js +43 -0
  77. package/test/add-manual-reql-segment-test.js +35 -0
  78. package/test/create-auto-reql-segmentation-batch_test.js +35 -0
  79. package/test/create-auto-reql-segmentation-callback_test.js +45 -0
  80. package/test/create-auto-reql-segmentation-test.js +43 -0
  81. package/test/create-manual-reql-segmentation-batch_test.js +35 -0
  82. package/test/create-manual-reql-segmentation-callback_test.js +45 -0
  83. package/test/create-manual-reql-segmentation-test.js +43 -0
  84. package/test/create-property-based-segmentation-batch_test.js +35 -0
  85. package/test/create-property-based-segmentation-callback_test.js +45 -0
  86. package/test/create-property-based-segmentation-test.js +43 -0
  87. package/test/delete-manual-reql-segment-batch_test.js +47 -0
  88. package/test/delete-manual-reql-segment-callback_test.js +51 -0
  89. package/test/delete-manual-reql-segment-test.js +39 -0
  90. package/test/delete-segmentation-batch_test.js +42 -0
  91. package/test/delete-segmentation-callback_test.js +53 -0
  92. package/test/delete-segmentation-test.js +47 -0
  93. package/test/get-segmentation-batch_test.js +41 -0
  94. package/test/get-segmentation-callback_test.js +44 -0
  95. package/test/get-segmentation-test.js +36 -0
  96. package/test/list-segmentations-batch_test.js +41 -0
  97. package/test/list-segmentations-callback_test.js +44 -0
  98. package/test/list-segmentations-test.js +36 -0
  99. package/test/recommend-item-segments-to-item-batch_test.js +33 -0
  100. package/test/recommend-item-segments-to-item-callback_test.js +37 -0
  101. package/test/recommend-item-segments-to-item-segment-batch_test.js +33 -0
  102. package/test/recommend-item-segments-to-item-segment-callback_test.js +37 -0
  103. package/test/recommend-item-segments-to-item-segment-test.js +39 -0
  104. package/test/recommend-item-segments-to-item-test.js +39 -0
  105. package/test/recommend-item-segments-to-user-batch_test.js +33 -0
  106. package/test/recommend-item-segments-to-user-callback_test.js +37 -0
  107. package/test/recommend-item-segments-to-user-test.js +39 -0
  108. package/test/search-item-segments-batch_test.js +33 -0
  109. package/test/search-item-segments-callback_test.js +37 -0
  110. package/test/search-item-segments-test.js +39 -0
  111. package/test/update-auto-reql-segmentation-batch_test.js +40 -0
  112. package/test/update-auto-reql-segmentation-callback_test.js +43 -0
  113. package/test/update-auto-reql-segmentation-test.js +35 -0
  114. package/test/update-manual-reql-segment-batch_test.js +47 -0
  115. package/test/update-manual-reql-segment-callback_test.js +51 -0
  116. package/test/update-manual-reql-segment-test.js +39 -0
  117. package/test/update-manual-reql-segmentation-batch_test.js +40 -0
  118. package/test/update-manual-reql-segmentation-callback_test.js +43 -0
  119. package/test/update-manual-reql-segmentation-test.js +35 -0
  120. package/test/update-property-based-segmentation-batch_test.js +40 -0
  121. package/test/update-property-based-segmentation-callback_test.js +43 -0
  122. package/test/update-property-based-segmentation-test.js +35 -0
@@ -6,7 +6,7 @@
6
6
  const rqs = require("./request");
7
7
 
8
8
  /**
9
- * Update (some) property values of all the items that pass the filter.
9
+ * Updates (some) property values of all the items that pass the filter.
10
10
  * Example: *Setting all the items that are older than a week as unavailable*
11
11
  * ```
12
12
  * {
@@ -19,11 +19,11 @@ class UpdateMoreItems extends rqs.Request {
19
19
 
20
20
  /**
21
21
  * Construct the request
22
- * @param {string} filter - A [ReQL](https://docs.recombee.com/reql.html) expression, which return `true` for the items that shall be updated.
23
- * @param {} changes - A dictionary where the keys are properties which shall be updated.
22
+ * @param {string} filter - A [ReQL](https://docs.recombee.com/reql.html) expression, which returns `true` for the items that shall be updated.
23
+ * @param {object} changes - A dictionary where the keys are properties that shall be updated.
24
24
  */
25
25
  constructor(filter, changes) {
26
- super('POST', '/more-items/', 1000, false);
26
+ super('POST', '/more-items/', 100000, false);
27
27
  this.filter = filter;
28
28
  this.changes = changes;
29
29
  }
@@ -0,0 +1,66 @@
1
+ /*
2
+ This file is auto-generated, do not edit
3
+ */
4
+
5
+ 'use strict';
6
+ const rqs = require("./request");
7
+
8
+ /**
9
+ * Updates a Property Based Segmentation
10
+ */
11
+ class UpdatePropertyBasedSegmentation extends rqs.Request {
12
+
13
+ /**
14
+ * Construct the request
15
+ * @param {string} segmentationId - ID of the updated Segmentation
16
+ * @param {Object} optional - Optional parameters given as an object with structure name of the parameter: value
17
+ * - Allowed parameters:
18
+ * - *propertyName*
19
+ * - Type: string
20
+ * - Description: Name of the property on which the Segmentation should be based
21
+ * - *title*
22
+ * - Type: string
23
+ * - Description: Human-readable name that is shown in the Recombee Admin UI.
24
+ * - *description*
25
+ * - Type: string
26
+ * - Description: Description that is shown in the Recombee Admin UI.
27
+ */
28
+ constructor(segmentationId, optional) {
29
+ super('POST', `/segmentations/property-based/${segmentationId}`, 10000, false);
30
+ this.segmentationId = segmentationId;
31
+ optional = optional || {};
32
+ this.propertyName = optional.propertyName;
33
+ this.title = optional.title;
34
+ this.description = optional.description;
35
+ }
36
+
37
+ /**
38
+ * Get body parameters
39
+ * @return {Object} The values of body parameters (name of parameter: value of the parameter)
40
+ */
41
+ bodyParameters() {
42
+ let params = {};
43
+
44
+ if(this.propertyName !== undefined)
45
+ params.propertyName = this.propertyName;
46
+
47
+ if(this.title !== undefined)
48
+ params.title = this.title;
49
+
50
+ if(this.description !== undefined)
51
+ params.description = this.description;
52
+
53
+ return params;
54
+ }
55
+
56
+ /**
57
+ * Get query parameters
58
+ * @return {Object} The values of query parameters (name of parameter: value of the parameter)
59
+ */
60
+ queryParameters() {
61
+ let params = {};
62
+ return params;
63
+ }
64
+ }
65
+
66
+ exports.UpdatePropertyBasedSegmentation = UpdatePropertyBasedSegmentation
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "recombee-api-client",
3
- "version": "4.0.0",
3
+ "version": "4.1.1",
4
4
  "description": "Node.js client (SDK) for easy use of the Recombee recommendation API",
5
5
  "main": "index.js",
6
+ "types": "lib/index.d.ts",
6
7
  "scripts": {
7
8
  "test": "mocha test"
8
9
  },
@@ -0,0 +1,40 @@
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('AddManualReqlSegment', 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
+ env.client.send(new rqs.CreateManualReqlSegmentation('seg1','items',{'title': 'Test Segmentation','description': 'For test purposes'}),((err,res) => {
24
+ if(err) {
25
+ chai.fail();
26
+ }
27
+ else {
28
+ let requests = [
29
+ new rqs.AddManualReqlSegment('seg1','first-segment','\'str_property\' != null',{'title': 'First Segment'})
30
+ ];
31
+
32
+ env.client.send(new rqs.Batch(requests))
33
+ .then((responses) => {
34
+ chai.equal(responses[0].code, 201);
35
+ done();
36
+ });
37
+ }
38
+ }));
39
+ });
40
+ });
@@ -0,0 +1,43 @@
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('AddManualReqlSegment', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(()=> {
19
+ done();
20
+ });
21
+ });
22
+
23
+ it ('adds manual ReQL segment', (done) => {
24
+ let req, req2, resp;
25
+ req2 = new rqs.CreateManualReqlSegmentation('seg1','items',{'title': 'Test Segmentation','description': 'For test purposes'});
26
+ env.client.send(req2,((err,res) => {
27
+ if(err) {
28
+ chai.fail();
29
+ }
30
+ else {
31
+ req = new rqs.AddManualReqlSegment('seg1','first-segment','\'str_property\' != null',{'title': 'First Segment'});
32
+ env.client.send(req,((err,res) => {
33
+ if(err) {
34
+ chai.fail();
35
+ }
36
+ else {
37
+ done();
38
+ }
39
+ }));
40
+ }
41
+ }));
42
+ });
43
+ });
@@ -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('AddManualReqlSegment', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(()=> {
19
+ done();
20
+ });
21
+ });
22
+
23
+ it ('adds manual ReQL segment', (done) => {
24
+ let req, req2, resp;
25
+ req2 = new rqs.CreateManualReqlSegmentation('seg1','items',{'title': 'Test Segmentation','description': 'For test purposes'});
26
+ env.client.send(req2)
27
+ .then((res) => {
28
+ req = new rqs.AddManualReqlSegment('seg1','first-segment','\'str_property\' != null',{'title': 'First Segment'});
29
+ env.client.send(req)
30
+ .then((res) => {
31
+ done();
32
+ });
33
+ });
34
+ });
35
+ });
@@ -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('CreateAutoReqlSegmentation', 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.CreateAutoReqlSegmentation('seg1','items','{\'str_property\'}',{'title': 'Test Segmentation','description': 'For test purposes'}),
25
+ new rqs.CreateAutoReqlSegmentation('seg1','items','{\'str_property\'}',{'title': 'Test Segmentation','description': 'For test purposes'})
26
+ ];
27
+
28
+ env.client.send(new rqs.Batch(requests))
29
+ .then((responses) => {
30
+ chai.equal(responses[0].code, 201);
31
+ chai.equal(responses[1].code, 409);
32
+ done();
33
+ });
34
+ });
35
+ });
@@ -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('CreateAutoReqlSegmentation', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(()=> {
19
+ done();
20
+ });
21
+ });
22
+
23
+ it ('creates auto ReQL segmentation', (done) => {
24
+ let req, req2, resp;
25
+ req = new rqs.CreateAutoReqlSegmentation('seg1','items','{\'str_property\'}',{'title': 'Test Segmentation','description': 'For test purposes'});
26
+ env.client.send(req,((err,res) => {
27
+ if(err) {
28
+ chai.fail();
29
+ }
30
+ else {
31
+ req = new rqs.CreateAutoReqlSegmentation('seg1','items','{\'str_property\'}',{'title': 'Test Segmentation','description': 'For test purposes'});
32
+ env.client.send(req,((err,res) => {
33
+ if(err) {
34
+ chai.equal(err.name, 'ResponseError');
35
+ chai.equal(err.statusCode, 409);
36
+ done();
37
+ }
38
+ else {
39
+ chai.fail();
40
+ }
41
+ }));
42
+ }
43
+ }));
44
+ });
45
+ });
@@ -0,0 +1,43 @@
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('CreateAutoReqlSegmentation', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(()=> {
19
+ done();
20
+ });
21
+ });
22
+
23
+ it ('creates auto ReQL segmentation', (done) => {
24
+ let req, req2, resp;
25
+ req = new rqs.CreateAutoReqlSegmentation('seg1','items','{\'str_property\'}',{'title': 'Test Segmentation','description': 'For test purposes'});
26
+ env.client.send(req)
27
+ .then((res) => {
28
+ req = new rqs.CreateAutoReqlSegmentation('seg1','items','{\'str_property\'}',{'title': 'Test Segmentation','description': 'For test purposes'});
29
+ env.client.send(req)
30
+ .then((res) => {
31
+ chai.fail();
32
+ done();
33
+ })
34
+ .catch((err) => {
35
+ if (err instanceof recombee.errors.ResponseError) {
36
+ chai.equal(err.statusCode, 409);
37
+ done();
38
+ }
39
+ throw err;
40
+ });
41
+ });
42
+ });
43
+ });
@@ -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('CreateManualReqlSegmentation', 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.CreateManualReqlSegmentation('seg1','items',{'title': 'Test Segmentation','description': 'For test purposes'}),
25
+ new rqs.CreateManualReqlSegmentation('seg1','items',{'title': 'Test Segmentation','description': 'For test purposes'})
26
+ ];
27
+
28
+ env.client.send(new rqs.Batch(requests))
29
+ .then((responses) => {
30
+ chai.equal(responses[0].code, 201);
31
+ chai.equal(responses[1].code, 409);
32
+ done();
33
+ });
34
+ });
35
+ });
@@ -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('CreateManualReqlSegmentation', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(()=> {
19
+ done();
20
+ });
21
+ });
22
+
23
+ it ('creates manual ReQL segmentation', (done) => {
24
+ let req, req2, resp;
25
+ req = new rqs.CreateManualReqlSegmentation('seg1','items',{'title': 'Test Segmentation','description': 'For test purposes'});
26
+ env.client.send(req,((err,res) => {
27
+ if(err) {
28
+ chai.fail();
29
+ }
30
+ else {
31
+ req = new rqs.CreateManualReqlSegmentation('seg1','items',{'title': 'Test Segmentation','description': 'For test purposes'});
32
+ env.client.send(req,((err,res) => {
33
+ if(err) {
34
+ chai.equal(err.name, 'ResponseError');
35
+ chai.equal(err.statusCode, 409);
36
+ done();
37
+ }
38
+ else {
39
+ chai.fail();
40
+ }
41
+ }));
42
+ }
43
+ }));
44
+ });
45
+ });
@@ -0,0 +1,43 @@
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('CreateManualReqlSegmentation', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(()=> {
19
+ done();
20
+ });
21
+ });
22
+
23
+ it ('creates manual ReQL segmentation', (done) => {
24
+ let req, req2, resp;
25
+ req = new rqs.CreateManualReqlSegmentation('seg1','items',{'title': 'Test Segmentation','description': 'For test purposes'});
26
+ env.client.send(req)
27
+ .then((res) => {
28
+ req = new rqs.CreateManualReqlSegmentation('seg1','items',{'title': 'Test Segmentation','description': 'For test purposes'});
29
+ env.client.send(req)
30
+ .then((res) => {
31
+ chai.fail();
32
+ done();
33
+ })
34
+ .catch((err) => {
35
+ if (err instanceof recombee.errors.ResponseError) {
36
+ chai.equal(err.statusCode, 409);
37
+ done();
38
+ }
39
+ throw err;
40
+ });
41
+ });
42
+ });
43
+ });
@@ -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('CreatePropertyBasedSegmentation', 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.CreatePropertyBasedSegmentation('seg1','items','str_property',{'title': 'Test Segmentation','description': 'For test purposes'}),
25
+ new rqs.CreatePropertyBasedSegmentation('seg1','items','str_property',{'title': 'Test Segmentation','description': 'For test purposes'})
26
+ ];
27
+
28
+ env.client.send(new rqs.Batch(requests))
29
+ .then((responses) => {
30
+ chai.equal(responses[0].code, 201);
31
+ chai.equal(responses[1].code, 409);
32
+ done();
33
+ });
34
+ });
35
+ });
@@ -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('CreatePropertyBasedSegmentation', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(()=> {
19
+ done();
20
+ });
21
+ });
22
+
23
+ it ('creates property based segmentation', (done) => {
24
+ let req, req2, resp;
25
+ req = new rqs.CreatePropertyBasedSegmentation('seg1','items','str_property',{'title': 'Test Segmentation','description': 'For test purposes'});
26
+ env.client.send(req,((err,res) => {
27
+ if(err) {
28
+ chai.fail();
29
+ }
30
+ else {
31
+ req = new rqs.CreatePropertyBasedSegmentation('seg1','items','str_property',{'title': 'Test Segmentation','description': 'For test purposes'});
32
+ env.client.send(req,((err,res) => {
33
+ if(err) {
34
+ chai.equal(err.name, 'ResponseError');
35
+ chai.equal(err.statusCode, 409);
36
+ done();
37
+ }
38
+ else {
39
+ chai.fail();
40
+ }
41
+ }));
42
+ }
43
+ }));
44
+ });
45
+ });
@@ -0,0 +1,43 @@
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('CreatePropertyBasedSegmentation', function(){
13
+ this.timeout(150000);
14
+
15
+ before(function(done){
16
+
17
+ env.setEnvironment()
18
+ .then(()=> {
19
+ done();
20
+ });
21
+ });
22
+
23
+ it ('creates property based segmentation', (done) => {
24
+ let req, req2, resp;
25
+ req = new rqs.CreatePropertyBasedSegmentation('seg1','items','str_property',{'title': 'Test Segmentation','description': 'For test purposes'});
26
+ env.client.send(req)
27
+ .then((res) => {
28
+ req = new rqs.CreatePropertyBasedSegmentation('seg1','items','str_property',{'title': 'Test Segmentation','description': 'For test purposes'});
29
+ env.client.send(req)
30
+ .then((res) => {
31
+ chai.fail();
32
+ done();
33
+ })
34
+ .catch((err) => {
35
+ if (err instanceof recombee.errors.ResponseError) {
36
+ chai.equal(err.statusCode, 409);
37
+ done();
38
+ }
39
+ throw err;
40
+ });
41
+ });
42
+ });
43
+ });
@@ -0,0 +1,47 @@
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('DeleteManualReqlSegment', 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
+ env.client.send(new rqs.CreateManualReqlSegmentation('seg1','items',{'title': 'Test Segmentation','description': 'For test purposes'}),((err,res) => {
24
+ if(err) {
25
+ chai.fail();
26
+ }
27
+ else {
28
+ env.client.send(new rqs.AddManualReqlSegment('seg1','first-segment','\'str_property\' != null',{'title': 'First Segment'}),((err,res) => {
29
+ if(err) {
30
+ chai.fail();
31
+ }
32
+ else {
33
+ let requests = [
34
+ new rqs.DeleteManualReqlSegment('seg1','first-segment')
35
+ ];
36
+
37
+ env.client.send(new rqs.Batch(requests))
38
+ .then((responses) => {
39
+ chai.equal(responses[0].code, 200);
40
+ done();
41
+ });
42
+ }
43
+ }));
44
+ }
45
+ }));
46
+ });
47
+ });