recombee-api-client 5.1.1 → 6.1.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.
- package/lib/api-client.js +1 -1
- package/lib/index.d.ts +196 -53
- package/lib/requests/add-detail-view.js +7 -0
- package/lib/requests/composite-recommendation.js +127 -0
- package/lib/requests/index.js +1 -0
- package/lib/requests/recommend-item-segments-to-item-segment.js +39 -0
- package/lib/requests/recommend-item-segments-to-item.js +39 -0
- package/lib/requests/recommend-item-segments-to-user.js +39 -0
- package/lib/requests/recommend-items-to-item-segment.js +42 -0
- package/lib/requests/recommend-items-to-item.js +45 -0
- package/lib/requests/recommend-items-to-user.js +42 -0
- package/lib/requests/recommend-users-to-item.js +45 -0
- package/lib/requests/recommend-users-to-user.js +42 -0
- package/lib/requests/search-item-segments.js +39 -0
- package/lib/requests/search-items.js +42 -0
- package/lib/requests/set-view-portion.js +14 -0
- package/package.json +1 -1
- package/test/add-bookmark-batch_test.js +8 -8
- package/test/add-bookmark-callback_test.js +14 -14
- package/test/add-bookmark-test.js +7 -7
- package/test/add-cart-addition-batch_test.js +8 -8
- package/test/add-cart-addition-callback_test.js +14 -14
- package/test/add-cart-addition-test.js +7 -7
- package/test/add-detail-view-batch_test.js +8 -8
- package/test/add-detail-view-callback_test.js +14 -14
- package/test/add-detail-view-test.js +7 -7
- package/test/add-item-batch_test.js +5 -5
- package/test/add-item-callback_test.js +9 -9
- package/test/add-item-property-batch_test.js +6 -6
- package/test/add-item-property-callback_test.js +10 -10
- package/test/add-item-property-test.js +5 -5
- package/test/add-item-test.js +5 -5
- package/test/add-manual-reql-segment-batch_test.js +3 -3
- package/test/add-manual-reql-segment-callback_test.js +3 -3
- package/test/add-manual-reql-segment-test.js +1 -1
- package/test/add-purchase-batch_test.js +8 -8
- package/test/add-purchase-callback_test.js +14 -14
- package/test/add-purchase-test.js +7 -7
- package/test/add-rating-batch_test.js +8 -8
- package/test/add-rating-callback_test.js +16 -16
- package/test/add-rating-test.js +9 -9
- package/test/add-search-synonym-batch_test.js +5 -5
- package/test/add-search-synonym-callback_test.js +7 -7
- package/test/add-search-synonym-test.js +5 -5
- package/test/add-series-batch_test.js +5 -5
- package/test/add-series-callback_test.js +9 -9
- package/test/add-series-test.js +5 -5
- package/test/add-user-batch_test.js +5 -5
- package/test/add-user-callback_test.js +9 -9
- package/test/add-user-property-batch_test.js +6 -6
- package/test/add-user-property-callback_test.js +10 -10
- package/test/add-user-property-test.js +5 -5
- package/test/add-user-test.js +5 -5
- package/test/composite-recommendation-batch_test.js +33 -0
- package/test/composite-recommendation-callback_test.js +37 -0
- package/test/composite-recommendation-test.js +39 -0
- package/test/create-auto-reql-segmentation-batch_test.js +3 -3
- package/test/create-auto-reql-segmentation-callback_test.js +5 -5
- package/test/create-auto-reql-segmentation-test.js +3 -3
- package/test/create-manual-reql-segmentation-batch_test.js +3 -3
- package/test/create-manual-reql-segmentation-callback_test.js +5 -5
- package/test/create-manual-reql-segmentation-test.js +3 -3
- package/test/create-property-based-segmentation-batch_test.js +3 -3
- package/test/create-property-based-segmentation-callback_test.js +5 -5
- package/test/create-property-based-segmentation-test.js +3 -3
- package/test/delete-all-search-synonyms-batch_test.js +2 -2
- package/test/delete-all-search-synonyms-callback_test.js +2 -2
- package/test/delete-all-search-synonyms-test.js +1 -1
- package/test/delete-bookmark-batch_test.js +3 -3
- package/test/delete-bookmark-callback_test.js +5 -5
- package/test/delete-bookmark-test.js +3 -3
- package/test/delete-cart-addition-batch_test.js +3 -3
- package/test/delete-cart-addition-callback_test.js +5 -5
- package/test/delete-cart-addition-test.js +3 -3
- package/test/delete-detail-view-batch_test.js +3 -3
- package/test/delete-detail-view-callback_test.js +5 -5
- package/test/delete-detail-view-test.js +3 -3
- package/test/delete-item-batch_test.js +5 -5
- package/test/delete-item-callback_test.js +11 -11
- package/test/delete-item-property-batch_test.js +5 -5
- package/test/delete-item-property-callback_test.js +11 -11
- package/test/delete-item-property-test.js +7 -7
- package/test/delete-item-test.js +7 -7
- package/test/delete-manual-reql-segment-batch_test.js +4 -4
- package/test/delete-manual-reql-segment-callback_test.js +4 -4
- package/test/delete-manual-reql-segment-test.js +1 -1
- package/test/delete-more-items-batch_test.js +4 -4
- package/test/delete-more-items-callback_test.js +4 -4
- package/test/delete-more-items-test.js +3 -3
- package/test/delete-purchase-batch_test.js +3 -3
- package/test/delete-purchase-callback_test.js +5 -5
- package/test/delete-purchase-test.js +3 -3
- package/test/delete-rating-batch_test.js +3 -3
- package/test/delete-rating-callback_test.js +5 -5
- package/test/delete-rating-test.js +3 -3
- package/test/delete-search-synonym-batch_test.js +4 -4
- package/test/delete-search-synonym-callback_test.js +6 -6
- package/test/delete-search-synonym-test.js +3 -3
- package/test/delete-segmentation-batch_test.js +4 -4
- package/test/delete-segmentation-callback_test.js +6 -6
- package/test/delete-segmentation-test.js +3 -3
- package/test/delete-series-batch_test.js +5 -5
- package/test/delete-series-callback_test.js +11 -11
- package/test/delete-series-test.js +7 -7
- package/test/delete-user-batch_test.js +5 -5
- package/test/delete-user-callback_test.js +11 -11
- package/test/delete-user-property-batch_test.js +5 -5
- package/test/delete-user-property-callback_test.js +11 -11
- package/test/delete-user-property-test.js +7 -7
- package/test/delete-user-test.js +7 -7
- package/test/delete-view-portion-batch_test.js +3 -3
- package/test/delete-view-portion-callback_test.js +5 -5
- package/test/delete-view-portion-test.js +3 -3
- package/test/get-item-property-info-batch_test.js +5 -5
- package/test/get-item-property-info-callback_test.js +5 -5
- package/test/get-item-property-info-test.js +3 -3
- package/test/get-item-values-batch_test.js +4 -4
- package/test/get-item-values-callback_test.js +4 -4
- package/test/get-item-values-test.js +3 -3
- package/test/get-segmentation-batch_test.js +4 -4
- package/test/get-segmentation-callback_test.js +4 -4
- package/test/get-segmentation-test.js +2 -2
- package/test/get-user-property-info-batch_test.js +5 -5
- package/test/get-user-property-info-callback_test.js +5 -5
- package/test/get-user-property-info-test.js +3 -3
- package/test/get-user-values-batch_test.js +4 -4
- package/test/get-user-values-callback_test.js +4 -4
- package/test/get-user-values-test.js +3 -3
- package/test/insert-to-series-batch_test.js +7 -7
- package/test/insert-to-series-callback_test.js +9 -9
- package/test/insert-to-series-test.js +3 -3
- package/test/list-item-bookmarks-batch_test.js +5 -5
- package/test/list-item-bookmarks-callback_test.js +5 -5
- package/test/list-item-bookmarks-test.js +4 -4
- package/test/list-item-cart-additions-batch_test.js +5 -5
- package/test/list-item-cart-additions-callback_test.js +5 -5
- package/test/list-item-cart-additions-test.js +4 -4
- package/test/list-item-detail-views-batch_test.js +5 -5
- package/test/list-item-detail-views-callback_test.js +5 -5
- package/test/list-item-detail-views-test.js +4 -4
- package/test/list-item-properties-batch_test.js +3 -3
- package/test/list-item-properties-callback_test.js +3 -3
- package/test/list-item-properties-test.js +2 -2
- package/test/list-item-purchases-batch_test.js +5 -5
- package/test/list-item-purchases-callback_test.js +5 -5
- package/test/list-item-purchases-test.js +4 -4
- package/test/list-item-ratings-batch_test.js +5 -5
- package/test/list-item-ratings-callback_test.js +5 -5
- package/test/list-item-ratings-test.js +4 -4
- package/test/list-item-view-portions-batch_test.js +5 -5
- package/test/list-item-view-portions-callback_test.js +5 -5
- package/test/list-item-view-portions-test.js +4 -4
- package/test/list-items-batch_test.js +5 -5
- package/test/list-items-callback_test.js +5 -5
- package/test/list-items-test.js +3 -3
- package/test/list-scenarios-batch_test.js +2 -2
- package/test/list-scenarios-callback_test.js +2 -2
- package/test/list-scenarios-test.js +1 -1
- package/test/list-search-synonyms-batch_test.js +6 -6
- package/test/list-search-synonyms-callback_test.js +6 -6
- package/test/list-search-synonyms-test.js +3 -3
- package/test/list-segmentations-batch_test.js +4 -4
- package/test/list-segmentations-callback_test.js +4 -4
- package/test/list-segmentations-test.js +2 -2
- package/test/list-series-batch_test.js +3 -3
- package/test/list-series-callback_test.js +3 -3
- package/test/list-series-items-batch_test.js +5 -5
- package/test/list-series-items-callback_test.js +5 -5
- package/test/list-series-items-test.js +4 -4
- package/test/list-series-test.js +2 -2
- package/test/list-user-bookmarks-batch_test.js +5 -5
- package/test/list-user-bookmarks-callback_test.js +5 -5
- package/test/list-user-bookmarks-test.js +4 -4
- package/test/list-user-cart-additions-batch_test.js +5 -5
- package/test/list-user-cart-additions-callback_test.js +5 -5
- package/test/list-user-cart-additions-test.js +4 -4
- package/test/list-user-detail-views-batch_test.js +5 -5
- package/test/list-user-detail-views-callback_test.js +5 -5
- package/test/list-user-detail-views-test.js +4 -4
- package/test/list-user-properties-batch_test.js +3 -3
- package/test/list-user-properties-callback_test.js +3 -3
- package/test/list-user-properties-test.js +2 -2
- package/test/list-user-purchases-batch_test.js +5 -5
- package/test/list-user-purchases-callback_test.js +5 -5
- package/test/list-user-purchases-test.js +4 -4
- package/test/list-user-ratings-batch_test.js +5 -5
- package/test/list-user-ratings-callback_test.js +5 -5
- package/test/list-user-ratings-test.js +4 -4
- package/test/list-user-view-portions-batch_test.js +5 -5
- package/test/list-user-view-portions-callback_test.js +5 -5
- package/test/list-user-view-portions-test.js +4 -4
- package/test/list-users-batch_test.js +5 -5
- package/test/list-users-callback_test.js +5 -5
- package/test/list-users-test.js +3 -3
- package/test/merge-users-batch_test.js +4 -4
- package/test/merge-users-callback_test.js +6 -6
- package/test/merge-users-test.js +3 -3
- package/test/recommend-item-segments-to-item-batch_test.js +2 -2
- package/test/recommend-item-segments-to-item-callback_test.js +4 -4
- package/test/recommend-item-segments-to-item-segment-batch_test.js +2 -2
- package/test/recommend-item-segments-to-item-segment-callback_test.js +4 -4
- package/test/recommend-item-segments-to-item-segment-test.js +3 -3
- package/test/recommend-item-segments-to-item-test.js +3 -3
- package/test/recommend-item-segments-to-user-batch_test.js +2 -2
- package/test/recommend-item-segments-to-user-callback_test.js +4 -4
- package/test/recommend-item-segments-to-user-test.js +3 -3
- package/test/recommend-items-to-item-batch_test.js +4 -4
- package/test/recommend-items-to-item-callback_test.js +4 -4
- package/test/recommend-items-to-item-segment-batch_test.js +2 -2
- package/test/recommend-items-to-item-segment-callback_test.js +4 -4
- package/test/recommend-items-to-item-segment-test.js +3 -3
- package/test/recommend-items-to-item-test.js +1 -1
- package/test/recommend-items-to-user-batch_test.js +7 -5
- package/test/recommend-items-to-user-callback_test.js +17 -4
- package/test/recommend-items-to-user-test.js +10 -1
- package/test/recommend-next-items-batch_test.js +6 -6
- package/test/recommend-next-items-callback_test.js +6 -6
- package/test/recommend-next-items-test.js +3 -3
- package/test/recommend-users-to-item-batch_test.js +7 -5
- package/test/recommend-users-to-item-callback_test.js +17 -4
- package/test/recommend-users-to-item-test.js +10 -1
- package/test/recommend-users-to-user-batch_test.js +7 -5
- package/test/recommend-users-to-user-callback_test.js +17 -4
- package/test/recommend-users-to-user-test.js +10 -1
- package/test/remove-from-series-batch_test.js +3 -3
- package/test/remove-from-series-callback_test.js +5 -5
- package/test/remove-from-series-test.js +3 -3
- package/test/search-item-segments-batch_test.js +2 -2
- package/test/search-item-segments-callback_test.js +4 -4
- package/test/search-item-segments-test.js +3 -3
- package/test/search-items-batch_test.js +7 -7
- package/test/search-items-callback_test.js +7 -7
- package/test/search-items-test.js +4 -4
- package/test/set-item-values-batch_test.js +7 -7
- package/test/set-item-values-callback_test.js +9 -9
- package/test/set-item-values-test.js +3 -3
- package/test/set-user-values-batch_test.js +7 -7
- package/test/set-user-values-callback_test.js +9 -9
- package/test/set-user-values-test.js +3 -3
- package/test/set-view-portion-batch_test.js +7 -7
- package/test/set-view-portion-callback_test.js +15 -15
- package/test/set-view-portion-test.js +9 -9
- package/test/update-auto-reql-segmentation-batch_test.js +3 -3
- package/test/update-auto-reql-segmentation-callback_test.js +3 -3
- package/test/update-auto-reql-segmentation-test.js +1 -1
- package/test/update-manual-reql-segment-batch_test.js +4 -4
- package/test/update-manual-reql-segment-callback_test.js +4 -4
- package/test/update-manual-reql-segment-test.js +1 -1
- package/test/update-manual-reql-segmentation-batch_test.js +3 -3
- package/test/update-manual-reql-segmentation-callback_test.js +3 -3
- package/test/update-manual-reql-segmentation-test.js +1 -1
- package/test/update-more-items-batch_test.js +4 -4
- package/test/update-more-items-callback_test.js +4 -4
- package/test/update-more-items-test.js +3 -3
- package/test/update-property-based-segmentation-batch_test.js +3 -3
- package/test/update-property-based-segmentation-callback_test.js +3 -3
- package/test/update-property-based-segmentation-test.js +1 -1
|
@@ -50,6 +50,41 @@ class SearchItemSegments extends rqs.Request {
|
|
|
50
50
|
* - *returnAbGroup*
|
|
51
51
|
* - Type: boolean
|
|
52
52
|
* - Description: If there is a custom AB-testing running, return the name of the group to which the request belongs.
|
|
53
|
+
* - *reqlExpressions*
|
|
54
|
+
* - Type: object
|
|
55
|
+
* - Description: A dictionary of [ReQL](https://docs.recombee.com/reql) expressions that will be executed for each recommended Item Segment.
|
|
56
|
+
* This can be used to compute additional properties of the recommended Item Segments.
|
|
57
|
+
* The keys are the names of the expressions, and the values are the actual ReQL expressions.
|
|
58
|
+
* Example request:
|
|
59
|
+
* ```json
|
|
60
|
+
* {
|
|
61
|
+
* "reqlExpressions": {
|
|
62
|
+
* "countItems": "size(segment_items(\"categories\", 'segmentId'))"
|
|
63
|
+
* }
|
|
64
|
+
* }
|
|
65
|
+
* ```
|
|
66
|
+
* Example response:
|
|
67
|
+
* ```json
|
|
68
|
+
* {
|
|
69
|
+
* "recommId": "a7ac55a4-8d6e-4f19-addc-abac4164d8a8",
|
|
70
|
+
* "recomms":
|
|
71
|
+
* [
|
|
72
|
+
* {
|
|
73
|
+
* "id": "category-fantasy-books",
|
|
74
|
+
* "reqlEvaluations": {
|
|
75
|
+
* "countItems": 486
|
|
76
|
+
* }
|
|
77
|
+
* },
|
|
78
|
+
* {
|
|
79
|
+
* "id": "category-sci-fi-costumes",
|
|
80
|
+
* "reqlEvaluations": {
|
|
81
|
+
* "countItems": 19
|
|
82
|
+
* }
|
|
83
|
+
* }
|
|
84
|
+
* ],
|
|
85
|
+
* "numberNextRecommsCalls": 0
|
|
86
|
+
* }
|
|
87
|
+
* ```
|
|
53
88
|
*/
|
|
54
89
|
constructor(userId, searchQuery, count, optional) {
|
|
55
90
|
super('POST', `/search/users/${userId}/item-segments/`, 3000, false);
|
|
@@ -64,6 +99,7 @@ class SearchItemSegments extends rqs.Request {
|
|
|
64
99
|
this.logic = optional.logic;
|
|
65
100
|
this.expertSettings = optional.expertSettings;
|
|
66
101
|
this.returnAbGroup = optional.returnAbGroup;
|
|
102
|
+
this.reqlExpressions = optional.reqlExpressions;
|
|
67
103
|
}
|
|
68
104
|
|
|
69
105
|
/**
|
|
@@ -96,6 +132,9 @@ class SearchItemSegments extends rqs.Request {
|
|
|
96
132
|
if(this.returnAbGroup !== undefined)
|
|
97
133
|
params.returnAbGroup = this.returnAbGroup;
|
|
98
134
|
|
|
135
|
+
if(this.reqlExpressions !== undefined)
|
|
136
|
+
params.reqlExpressions = this.reqlExpressions;
|
|
137
|
+
|
|
99
138
|
return params;
|
|
100
139
|
}
|
|
101
140
|
|
|
@@ -104,6 +104,44 @@ class SearchItems extends rqs.Request {
|
|
|
104
104
|
* See [this section](https://docs.recombee.com/recommendation_logics) for a list of available logics and other details.
|
|
105
105
|
* The difference between `logic` and `scenario` is that `logic` specifies mainly behavior, while `scenario` specifies the place where recommendations are shown to the users.
|
|
106
106
|
* Logic can also be set to a [scenario](https://docs.recombee.com/scenarios) in the [Admin UI](https://admin.recombee.com).
|
|
107
|
+
* - *reqlExpressions*
|
|
108
|
+
* - Type: object
|
|
109
|
+
* - Description: A dictionary of [ReQL](https://docs.recombee.com/reql) expressions that will be executed for each recommended item.
|
|
110
|
+
* This can be used to compute additional properties of the recommended items that are not stored in the database.
|
|
111
|
+
* The keys are the names of the expressions, and the values are the actual ReQL expressions.
|
|
112
|
+
* Example request:
|
|
113
|
+
* ```json
|
|
114
|
+
* {
|
|
115
|
+
* "reqlExpressions": {
|
|
116
|
+
* "isInUsersCity": "context_user[\"city\"] in 'cities'",
|
|
117
|
+
* "distanceToUser": "earth_distance('location', context_user[\"location\"])"
|
|
118
|
+
* }
|
|
119
|
+
* }
|
|
120
|
+
* ```
|
|
121
|
+
* Example response:
|
|
122
|
+
* ```json
|
|
123
|
+
* {
|
|
124
|
+
* "recommId": "ce52ada4-e4d9-4885-943c-407db2dee837",
|
|
125
|
+
* "recomms":
|
|
126
|
+
* [
|
|
127
|
+
* {
|
|
128
|
+
* "id": "restaurant-178",
|
|
129
|
+
* "reqlEvaluations": {
|
|
130
|
+
* "isInUsersCity": true,
|
|
131
|
+
* "distanceToUser": 5200.2
|
|
132
|
+
* }
|
|
133
|
+
* },
|
|
134
|
+
* {
|
|
135
|
+
* "id": "bar-42",
|
|
136
|
+
* "reqlEvaluations": {
|
|
137
|
+
* "isInUsersCity": false,
|
|
138
|
+
* "distanceToUser": 2516.0
|
|
139
|
+
* }
|
|
140
|
+
* }
|
|
141
|
+
* ],
|
|
142
|
+
* "numberNextRecommsCalls": 0
|
|
143
|
+
* }
|
|
144
|
+
* ```
|
|
107
145
|
* - *expertSettings*
|
|
108
146
|
* - Type: object
|
|
109
147
|
* - Description: Dictionary of custom options.
|
|
@@ -124,6 +162,7 @@ class SearchItems extends rqs.Request {
|
|
|
124
162
|
this.filter = optional.filter;
|
|
125
163
|
this.booster = optional.booster;
|
|
126
164
|
this.logic = optional.logic;
|
|
165
|
+
this.reqlExpressions = optional.reqlExpressions;
|
|
127
166
|
this.expertSettings = optional.expertSettings;
|
|
128
167
|
this.returnAbGroup = optional.returnAbGroup;
|
|
129
168
|
}
|
|
@@ -158,6 +197,9 @@ class SearchItems extends rqs.Request {
|
|
|
158
197
|
if(this.logic !== undefined)
|
|
159
198
|
params.logic = this.logic;
|
|
160
199
|
|
|
200
|
+
if(this.reqlExpressions !== undefined)
|
|
201
|
+
params.reqlExpressions = this.reqlExpressions;
|
|
202
|
+
|
|
161
203
|
if(this.expertSettings !== undefined)
|
|
162
204
|
params.expertSettings = this.expertSettings;
|
|
163
205
|
|
|
@@ -33,6 +33,12 @@ class SetViewPortion extends rqs.Request {
|
|
|
33
33
|
* - *additionalData*
|
|
34
34
|
* - Type: object
|
|
35
35
|
* - Description: A dictionary of additional data for the interaction.
|
|
36
|
+
* - *autoPresented*
|
|
37
|
+
* - Type: boolean
|
|
38
|
+
* - Description: Indicates whether the item was automatically presented to the user (e.g., in a swiping feed) or explicitly requested by the user (e.g., by clicking on a link). Defaults to `false`.
|
|
39
|
+
* - *timeSpent*
|
|
40
|
+
* - Type: number
|
|
41
|
+
* - Description: The duration (in seconds) that the user viewed the item. In update requests, this value may only increase and is required only if it has changed.
|
|
36
42
|
*/
|
|
37
43
|
constructor(userId, itemId, portion, optional) {
|
|
38
44
|
super('POST', '/viewportions/', 3000, false);
|
|
@@ -45,6 +51,8 @@ class SetViewPortion extends rqs.Request {
|
|
|
45
51
|
this.cascadeCreate = optional.cascadeCreate;
|
|
46
52
|
this.recommId = optional.recommId;
|
|
47
53
|
this.additionalData = optional.additionalData;
|
|
54
|
+
this.autoPresented = optional.autoPresented;
|
|
55
|
+
this.timeSpent = optional.timeSpent;
|
|
48
56
|
}
|
|
49
57
|
|
|
50
58
|
/**
|
|
@@ -72,6 +80,12 @@ class SetViewPortion extends rqs.Request {
|
|
|
72
80
|
if(this.additionalData !== undefined)
|
|
73
81
|
params.additionalData = this.additionalData;
|
|
74
82
|
|
|
83
|
+
if(this.autoPresented !== undefined)
|
|
84
|
+
params.autoPresented = this.autoPresented;
|
|
85
|
+
|
|
86
|
+
if(this.timeSpent !== undefined)
|
|
87
|
+
params.timeSpent = this.timeSpent;
|
|
88
|
+
|
|
75
89
|
return params;
|
|
76
90
|
}
|
|
77
91
|
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
'use strict'
|
|
6
|
-
var
|
|
6
|
+
var assert = require('chai').assert;
|
|
7
7
|
var recombee = require('./../index.js');
|
|
8
8
|
var rqs = recombee.requests;
|
|
9
9
|
|
|
@@ -32,13 +32,13 @@ describe('AddBookmark', function(){
|
|
|
32
32
|
|
|
33
33
|
env.client.send(new rqs.Batch(requests))
|
|
34
34
|
.then((responses) => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
assert.equal(responses[0].code, 200);
|
|
36
|
+
assert.equal(responses[1].code, 200);
|
|
37
|
+
assert.equal(responses[2].code, 200);
|
|
38
|
+
assert.equal(responses[3].code, 404);
|
|
39
|
+
assert.equal(responses[4].code, 404);
|
|
40
|
+
assert.equal(responses[5].code, 200);
|
|
41
|
+
assert.equal(responses[6].code, 409);
|
|
42
42
|
done();
|
|
43
43
|
});
|
|
44
44
|
});
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
'use strict'
|
|
6
|
-
var
|
|
6
|
+
var assert = require('chai').assert;
|
|
7
7
|
var recombee = require('./../index.js');
|
|
8
8
|
var rqs = recombee.requests;
|
|
9
9
|
|
|
@@ -25,7 +25,7 @@ describe('AddBookmark', function(){
|
|
|
25
25
|
req = new rqs.AddBookmark('u_id','i_id',{'cascadeCreate': true,'additionalData': {'answer': 42}});
|
|
26
26
|
env.client.send(req,((err,res) => {
|
|
27
27
|
if(err) {
|
|
28
|
-
|
|
28
|
+
assert.fail();
|
|
29
29
|
}
|
|
30
30
|
else {
|
|
31
31
|
done();
|
|
@@ -38,7 +38,7 @@ describe('AddBookmark', function(){
|
|
|
38
38
|
req = new rqs.AddBookmark('entity_id','entity_id');
|
|
39
39
|
env.client.send(req,((err,res) => {
|
|
40
40
|
if(err) {
|
|
41
|
-
|
|
41
|
+
assert.fail();
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
44
|
done();
|
|
@@ -51,7 +51,7 @@ describe('AddBookmark', function(){
|
|
|
51
51
|
req = new rqs.AddBookmark('entity_id','entity_id',{'timestamp': '2013-10-29T09:38:41.341Z'});
|
|
52
52
|
env.client.send(req,((err,res) => {
|
|
53
53
|
if(err) {
|
|
54
|
-
|
|
54
|
+
assert.fail();
|
|
55
55
|
}
|
|
56
56
|
else {
|
|
57
57
|
done();
|
|
@@ -64,12 +64,12 @@ describe('AddBookmark', function(){
|
|
|
64
64
|
req = new rqs.AddBookmark('entity_id','nonex_id');
|
|
65
65
|
env.client.send(req,((err,res) => {
|
|
66
66
|
if(err) {
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
assert.equal(err.name, 'ResponseError');
|
|
68
|
+
assert.equal(err.statusCode, 404);
|
|
69
69
|
done();
|
|
70
70
|
}
|
|
71
71
|
else {
|
|
72
|
-
|
|
72
|
+
assert.fail();
|
|
73
73
|
}
|
|
74
74
|
}));
|
|
75
75
|
});
|
|
@@ -79,12 +79,12 @@ describe('AddBookmark', function(){
|
|
|
79
79
|
req = new rqs.AddBookmark('nonex_id','entity_id');
|
|
80
80
|
env.client.send(req,((err,res) => {
|
|
81
81
|
if(err) {
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
assert.equal(err.name, 'ResponseError');
|
|
83
|
+
assert.equal(err.statusCode, 404);
|
|
84
84
|
done();
|
|
85
85
|
}
|
|
86
86
|
else {
|
|
87
|
-
|
|
87
|
+
assert.fail();
|
|
88
88
|
}
|
|
89
89
|
}));
|
|
90
90
|
});
|
|
@@ -94,17 +94,17 @@ describe('AddBookmark', function(){
|
|
|
94
94
|
req = new rqs.AddBookmark('u_id2','i_id2',{'cascadeCreate': true,'timestamp': 5});
|
|
95
95
|
env.client.send(req,((err,res) => {
|
|
96
96
|
if(err) {
|
|
97
|
-
|
|
97
|
+
assert.fail();
|
|
98
98
|
}
|
|
99
99
|
else {
|
|
100
100
|
env.client.send(req,((err,res) => {
|
|
101
101
|
if(err) {
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
assert.equal(err.name, 'ResponseError');
|
|
103
|
+
assert.equal(err.statusCode, 409);
|
|
104
104
|
done();
|
|
105
105
|
}
|
|
106
106
|
else {
|
|
107
|
-
|
|
107
|
+
assert.fail();
|
|
108
108
|
}
|
|
109
109
|
}));
|
|
110
110
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
'use strict'
|
|
6
|
-
var
|
|
6
|
+
var assert = require('chai').assert;
|
|
7
7
|
var recombee = require('./../index.js');
|
|
8
8
|
var rqs = recombee.requests;
|
|
9
9
|
|
|
@@ -52,12 +52,12 @@ describe('AddBookmark', function(){
|
|
|
52
52
|
req = new rqs.AddBookmark('entity_id','nonex_id');
|
|
53
53
|
env.client.send(req)
|
|
54
54
|
.then((res) => {
|
|
55
|
-
|
|
55
|
+
assert.fail();
|
|
56
56
|
done();
|
|
57
57
|
})
|
|
58
58
|
.catch((err) => {
|
|
59
59
|
if (err instanceof recombee.errors.ResponseError) {
|
|
60
|
-
|
|
60
|
+
assert.equal(err.statusCode, 404);
|
|
61
61
|
done();
|
|
62
62
|
}
|
|
63
63
|
throw err;
|
|
@@ -69,12 +69,12 @@ describe('AddBookmark', function(){
|
|
|
69
69
|
req = new rqs.AddBookmark('nonex_id','entity_id');
|
|
70
70
|
env.client.send(req)
|
|
71
71
|
.then((res) => {
|
|
72
|
-
|
|
72
|
+
assert.fail();
|
|
73
73
|
done();
|
|
74
74
|
})
|
|
75
75
|
.catch((err) => {
|
|
76
76
|
if (err instanceof recombee.errors.ResponseError) {
|
|
77
|
-
|
|
77
|
+
assert.equal(err.statusCode, 404);
|
|
78
78
|
done();
|
|
79
79
|
}
|
|
80
80
|
throw err;
|
|
@@ -88,12 +88,12 @@ describe('AddBookmark', function(){
|
|
|
88
88
|
.then((res) => {
|
|
89
89
|
env.client.send(req)
|
|
90
90
|
.then((res) => {
|
|
91
|
-
|
|
91
|
+
assert.fail();
|
|
92
92
|
done();
|
|
93
93
|
})
|
|
94
94
|
.catch((err) => {
|
|
95
95
|
if (err instanceof recombee.errors.ResponseError) {
|
|
96
|
-
|
|
96
|
+
assert.equal(err.statusCode, 409);
|
|
97
97
|
done();
|
|
98
98
|
}
|
|
99
99
|
throw err;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
'use strict'
|
|
6
|
-
var
|
|
6
|
+
var assert = require('chai').assert;
|
|
7
7
|
var recombee = require('./../index.js');
|
|
8
8
|
var rqs = recombee.requests;
|
|
9
9
|
|
|
@@ -32,13 +32,13 @@ describe('AddCartAddition', function(){
|
|
|
32
32
|
|
|
33
33
|
env.client.send(new rqs.Batch(requests))
|
|
34
34
|
.then((responses) => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
assert.equal(responses[0].code, 200);
|
|
36
|
+
assert.equal(responses[1].code, 200);
|
|
37
|
+
assert.equal(responses[2].code, 200);
|
|
38
|
+
assert.equal(responses[3].code, 404);
|
|
39
|
+
assert.equal(responses[4].code, 404);
|
|
40
|
+
assert.equal(responses[5].code, 200);
|
|
41
|
+
assert.equal(responses[6].code, 409);
|
|
42
42
|
done();
|
|
43
43
|
});
|
|
44
44
|
});
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
'use strict'
|
|
6
|
-
var
|
|
6
|
+
var assert = require('chai').assert;
|
|
7
7
|
var recombee = require('./../index.js');
|
|
8
8
|
var rqs = recombee.requests;
|
|
9
9
|
|
|
@@ -25,7 +25,7 @@ describe('AddCartAddition', function(){
|
|
|
25
25
|
req = new rqs.AddCartAddition('u_id','i_id',{'cascadeCreate': true,'additionalData': {'answer': 42}});
|
|
26
26
|
env.client.send(req,((err,res) => {
|
|
27
27
|
if(err) {
|
|
28
|
-
|
|
28
|
+
assert.fail();
|
|
29
29
|
}
|
|
30
30
|
else {
|
|
31
31
|
done();
|
|
@@ -38,7 +38,7 @@ describe('AddCartAddition', function(){
|
|
|
38
38
|
req = new rqs.AddCartAddition('entity_id','entity_id');
|
|
39
39
|
env.client.send(req,((err,res) => {
|
|
40
40
|
if(err) {
|
|
41
|
-
|
|
41
|
+
assert.fail();
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
44
|
done();
|
|
@@ -51,7 +51,7 @@ describe('AddCartAddition', function(){
|
|
|
51
51
|
req = new rqs.AddCartAddition('entity_id','entity_id',{'timestamp': '2013-10-29T09:38:41.341Z'});
|
|
52
52
|
env.client.send(req,((err,res) => {
|
|
53
53
|
if(err) {
|
|
54
|
-
|
|
54
|
+
assert.fail();
|
|
55
55
|
}
|
|
56
56
|
else {
|
|
57
57
|
done();
|
|
@@ -64,12 +64,12 @@ describe('AddCartAddition', function(){
|
|
|
64
64
|
req = new rqs.AddCartAddition('entity_id','nonex_id');
|
|
65
65
|
env.client.send(req,((err,res) => {
|
|
66
66
|
if(err) {
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
assert.equal(err.name, 'ResponseError');
|
|
68
|
+
assert.equal(err.statusCode, 404);
|
|
69
69
|
done();
|
|
70
70
|
}
|
|
71
71
|
else {
|
|
72
|
-
|
|
72
|
+
assert.fail();
|
|
73
73
|
}
|
|
74
74
|
}));
|
|
75
75
|
});
|
|
@@ -79,12 +79,12 @@ describe('AddCartAddition', function(){
|
|
|
79
79
|
req = new rqs.AddCartAddition('nonex_id','entity_id');
|
|
80
80
|
env.client.send(req,((err,res) => {
|
|
81
81
|
if(err) {
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
assert.equal(err.name, 'ResponseError');
|
|
83
|
+
assert.equal(err.statusCode, 404);
|
|
84
84
|
done();
|
|
85
85
|
}
|
|
86
86
|
else {
|
|
87
|
-
|
|
87
|
+
assert.fail();
|
|
88
88
|
}
|
|
89
89
|
}));
|
|
90
90
|
});
|
|
@@ -94,17 +94,17 @@ describe('AddCartAddition', function(){
|
|
|
94
94
|
req = new rqs.AddCartAddition('u_id2','i_id2',{'cascadeCreate': true,'timestamp': 5});
|
|
95
95
|
env.client.send(req,((err,res) => {
|
|
96
96
|
if(err) {
|
|
97
|
-
|
|
97
|
+
assert.fail();
|
|
98
98
|
}
|
|
99
99
|
else {
|
|
100
100
|
env.client.send(req,((err,res) => {
|
|
101
101
|
if(err) {
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
assert.equal(err.name, 'ResponseError');
|
|
103
|
+
assert.equal(err.statusCode, 409);
|
|
104
104
|
done();
|
|
105
105
|
}
|
|
106
106
|
else {
|
|
107
|
-
|
|
107
|
+
assert.fail();
|
|
108
108
|
}
|
|
109
109
|
}));
|
|
110
110
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
'use strict'
|
|
6
|
-
var
|
|
6
|
+
var assert = require('chai').assert;
|
|
7
7
|
var recombee = require('./../index.js');
|
|
8
8
|
var rqs = recombee.requests;
|
|
9
9
|
|
|
@@ -52,12 +52,12 @@ describe('AddCartAddition', function(){
|
|
|
52
52
|
req = new rqs.AddCartAddition('entity_id','nonex_id');
|
|
53
53
|
env.client.send(req)
|
|
54
54
|
.then((res) => {
|
|
55
|
-
|
|
55
|
+
assert.fail();
|
|
56
56
|
done();
|
|
57
57
|
})
|
|
58
58
|
.catch((err) => {
|
|
59
59
|
if (err instanceof recombee.errors.ResponseError) {
|
|
60
|
-
|
|
60
|
+
assert.equal(err.statusCode, 404);
|
|
61
61
|
done();
|
|
62
62
|
}
|
|
63
63
|
throw err;
|
|
@@ -69,12 +69,12 @@ describe('AddCartAddition', function(){
|
|
|
69
69
|
req = new rqs.AddCartAddition('nonex_id','entity_id');
|
|
70
70
|
env.client.send(req)
|
|
71
71
|
.then((res) => {
|
|
72
|
-
|
|
72
|
+
assert.fail();
|
|
73
73
|
done();
|
|
74
74
|
})
|
|
75
75
|
.catch((err) => {
|
|
76
76
|
if (err instanceof recombee.errors.ResponseError) {
|
|
77
|
-
|
|
77
|
+
assert.equal(err.statusCode, 404);
|
|
78
78
|
done();
|
|
79
79
|
}
|
|
80
80
|
throw err;
|
|
@@ -88,12 +88,12 @@ describe('AddCartAddition', function(){
|
|
|
88
88
|
.then((res) => {
|
|
89
89
|
env.client.send(req)
|
|
90
90
|
.then((res) => {
|
|
91
|
-
|
|
91
|
+
assert.fail();
|
|
92
92
|
done();
|
|
93
93
|
})
|
|
94
94
|
.catch((err) => {
|
|
95
95
|
if (err instanceof recombee.errors.ResponseError) {
|
|
96
|
-
|
|
96
|
+
assert.equal(err.statusCode, 409);
|
|
97
97
|
done();
|
|
98
98
|
}
|
|
99
99
|
throw err;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
'use strict'
|
|
6
|
-
var
|
|
6
|
+
var assert = require('chai').assert;
|
|
7
7
|
var recombee = require('./../index.js');
|
|
8
8
|
var rqs = recombee.requests;
|
|
9
9
|
|
|
@@ -32,13 +32,13 @@ describe('AddDetailView', function(){
|
|
|
32
32
|
|
|
33
33
|
env.client.send(new rqs.Batch(requests))
|
|
34
34
|
.then((responses) => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
assert.equal(responses[0].code, 200);
|
|
36
|
+
assert.equal(responses[1].code, 200);
|
|
37
|
+
assert.equal(responses[2].code, 200);
|
|
38
|
+
assert.equal(responses[3].code, 404);
|
|
39
|
+
assert.equal(responses[4].code, 404);
|
|
40
|
+
assert.equal(responses[5].code, 200);
|
|
41
|
+
assert.equal(responses[6].code, 409);
|
|
42
42
|
done();
|
|
43
43
|
});
|
|
44
44
|
});
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
'use strict'
|
|
6
|
-
var
|
|
6
|
+
var assert = require('chai').assert;
|
|
7
7
|
var recombee = require('./../index.js');
|
|
8
8
|
var rqs = recombee.requests;
|
|
9
9
|
|
|
@@ -25,7 +25,7 @@ describe('AddDetailView', function(){
|
|
|
25
25
|
req = new rqs.AddDetailView('u_id','i_id',{'cascadeCreate': true,'additionalData': {'answer': 42}});
|
|
26
26
|
env.client.send(req,((err,res) => {
|
|
27
27
|
if(err) {
|
|
28
|
-
|
|
28
|
+
assert.fail();
|
|
29
29
|
}
|
|
30
30
|
else {
|
|
31
31
|
done();
|
|
@@ -38,7 +38,7 @@ describe('AddDetailView', function(){
|
|
|
38
38
|
req = new rqs.AddDetailView('entity_id','entity_id');
|
|
39
39
|
env.client.send(req,((err,res) => {
|
|
40
40
|
if(err) {
|
|
41
|
-
|
|
41
|
+
assert.fail();
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
44
|
done();
|
|
@@ -51,7 +51,7 @@ describe('AddDetailView', function(){
|
|
|
51
51
|
req = new rqs.AddDetailView('entity_id','entity_id',{'timestamp': '2013-10-29T09:38:41.341Z'});
|
|
52
52
|
env.client.send(req,((err,res) => {
|
|
53
53
|
if(err) {
|
|
54
|
-
|
|
54
|
+
assert.fail();
|
|
55
55
|
}
|
|
56
56
|
else {
|
|
57
57
|
done();
|
|
@@ -64,12 +64,12 @@ describe('AddDetailView', function(){
|
|
|
64
64
|
req = new rqs.AddDetailView('entity_id','nonex_id');
|
|
65
65
|
env.client.send(req,((err,res) => {
|
|
66
66
|
if(err) {
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
assert.equal(err.name, 'ResponseError');
|
|
68
|
+
assert.equal(err.statusCode, 404);
|
|
69
69
|
done();
|
|
70
70
|
}
|
|
71
71
|
else {
|
|
72
|
-
|
|
72
|
+
assert.fail();
|
|
73
73
|
}
|
|
74
74
|
}));
|
|
75
75
|
});
|
|
@@ -79,12 +79,12 @@ describe('AddDetailView', function(){
|
|
|
79
79
|
req = new rqs.AddDetailView('nonex_id','entity_id');
|
|
80
80
|
env.client.send(req,((err,res) => {
|
|
81
81
|
if(err) {
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
assert.equal(err.name, 'ResponseError');
|
|
83
|
+
assert.equal(err.statusCode, 404);
|
|
84
84
|
done();
|
|
85
85
|
}
|
|
86
86
|
else {
|
|
87
|
-
|
|
87
|
+
assert.fail();
|
|
88
88
|
}
|
|
89
89
|
}));
|
|
90
90
|
});
|
|
@@ -94,17 +94,17 @@ describe('AddDetailView', function(){
|
|
|
94
94
|
req = new rqs.AddDetailView('u_id2','i_id2',{'cascadeCreate': true,'timestamp': 5});
|
|
95
95
|
env.client.send(req,((err,res) => {
|
|
96
96
|
if(err) {
|
|
97
|
-
|
|
97
|
+
assert.fail();
|
|
98
98
|
}
|
|
99
99
|
else {
|
|
100
100
|
env.client.send(req,((err,res) => {
|
|
101
101
|
if(err) {
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
assert.equal(err.name, 'ResponseError');
|
|
103
|
+
assert.equal(err.statusCode, 409);
|
|
104
104
|
done();
|
|
105
105
|
}
|
|
106
106
|
else {
|
|
107
|
-
|
|
107
|
+
assert.fail();
|
|
108
108
|
}
|
|
109
109
|
}));
|
|
110
110
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
'use strict'
|
|
6
|
-
var
|
|
6
|
+
var assert = require('chai').assert;
|
|
7
7
|
var recombee = require('./../index.js');
|
|
8
8
|
var rqs = recombee.requests;
|
|
9
9
|
|
|
@@ -52,12 +52,12 @@ describe('AddDetailView', function(){
|
|
|
52
52
|
req = new rqs.AddDetailView('entity_id','nonex_id');
|
|
53
53
|
env.client.send(req)
|
|
54
54
|
.then((res) => {
|
|
55
|
-
|
|
55
|
+
assert.fail();
|
|
56
56
|
done();
|
|
57
57
|
})
|
|
58
58
|
.catch((err) => {
|
|
59
59
|
if (err instanceof recombee.errors.ResponseError) {
|
|
60
|
-
|
|
60
|
+
assert.equal(err.statusCode, 404);
|
|
61
61
|
done();
|
|
62
62
|
}
|
|
63
63
|
throw err;
|
|
@@ -69,12 +69,12 @@ describe('AddDetailView', function(){
|
|
|
69
69
|
req = new rqs.AddDetailView('nonex_id','entity_id');
|
|
70
70
|
env.client.send(req)
|
|
71
71
|
.then((res) => {
|
|
72
|
-
|
|
72
|
+
assert.fail();
|
|
73
73
|
done();
|
|
74
74
|
})
|
|
75
75
|
.catch((err) => {
|
|
76
76
|
if (err instanceof recombee.errors.ResponseError) {
|
|
77
|
-
|
|
77
|
+
assert.equal(err.statusCode, 404);
|
|
78
78
|
done();
|
|
79
79
|
}
|
|
80
80
|
throw err;
|
|
@@ -88,12 +88,12 @@ describe('AddDetailView', function(){
|
|
|
88
88
|
.then((res) => {
|
|
89
89
|
env.client.send(req)
|
|
90
90
|
.then((res) => {
|
|
91
|
-
|
|
91
|
+
assert.fail();
|
|
92
92
|
done();
|
|
93
93
|
})
|
|
94
94
|
.catch((err) => {
|
|
95
95
|
if (err instanceof recombee.errors.ResponseError) {
|
|
96
|
-
|
|
96
|
+
assert.equal(err.statusCode, 409);
|
|
97
97
|
done();
|
|
98
98
|
}
|
|
99
99
|
throw err;
|