@tiledesk/tiledesk-server 2.10.64 → 2.10.65
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/CHANGELOG.md +3 -0
- package/package.json +1 -1
- package/routes/user-request.js +7 -5
- package/test/userRequestRoute.js +125 -0
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
package/routes/user-request.js
CHANGED
@@ -12,7 +12,6 @@ router.patch('/:requestid/rating', function (req, res) {
|
|
12
12
|
winston.debug(req.body);
|
13
13
|
const update = {};
|
14
14
|
|
15
|
-
|
16
15
|
if (req.body.rating) {
|
17
16
|
update.rating = req.body.rating;
|
18
17
|
}
|
@@ -20,13 +19,16 @@ router.patch('/:requestid/rating', function (req, res) {
|
|
20
19
|
if (req.body.rating_message) {
|
21
20
|
update.rating_message = req.body.rating_message;
|
22
21
|
}
|
23
|
-
|
24
|
-
|
25
22
|
|
26
23
|
winston.debug("Request user patch update",update);
|
27
24
|
|
28
|
-
|
29
|
-
|
25
|
+
let query = {
|
26
|
+
request_id: req.params.requestid
|
27
|
+
}
|
28
|
+
|
29
|
+
if (req.projectuser) {
|
30
|
+
query.requester = req.projectuser.id
|
31
|
+
}
|
30
32
|
|
31
33
|
//cacheinvalidation
|
32
34
|
return Request.findOneAndUpdate(query, { $set: update }, { new: true, upsert: false })
|
@@ -0,0 +1,125 @@
|
|
1
|
+
process.env.NODE_ENV = 'test';
|
2
|
+
|
3
|
+
let chai = require('chai');
|
4
|
+
let chaiHttp = require('chai-http');
|
5
|
+
let server = require('../app');
|
6
|
+
let should = chai.should();
|
7
|
+
|
8
|
+
chai.use(chaiHttp);
|
9
|
+
|
10
|
+
var expect = require('chai').expect;
|
11
|
+
var assert = require('chai').assert;
|
12
|
+
var config = require('../config/database');
|
13
|
+
|
14
|
+
var mongoose = require('mongoose');
|
15
|
+
var winston = require('../config/winston');
|
16
|
+
|
17
|
+
let log = false;
|
18
|
+
|
19
|
+
// var databaseUri = process.env.DATABASE_URI || process.env.MONGODB_URI;
|
20
|
+
// if (!databaseUri) {
|
21
|
+
// console.log('DATABASE_URI not specified, falling back to localhost.');
|
22
|
+
// }
|
23
|
+
|
24
|
+
// mongoose.connect(databaseUri || config.database);
|
25
|
+
mongoose.connect(config.databasetest);
|
26
|
+
|
27
|
+
var userService = require('../services/userService');
|
28
|
+
const projectService = require('../services/projectService');
|
29
|
+
var leadService = require('../services/leadService');
|
30
|
+
var requestService = require('../services/requestService');
|
31
|
+
const faqService = require('../services/faqService');
|
32
|
+
var Bot = require("../models/faq_kb");
|
33
|
+
|
34
|
+
var jwt = require('jsonwebtoken');
|
35
|
+
const uuidv4 = require('uuid/v4');
|
36
|
+
|
37
|
+
|
38
|
+
describe('UserService()', function () {
|
39
|
+
|
40
|
+
it('request-rating', function (done) {
|
41
|
+
|
42
|
+
var email = "test-UserRequest-signup-" + Date.now() + "@email.com";
|
43
|
+
var pwd = "pwd";
|
44
|
+
|
45
|
+
userService.signup(email, pwd, "Test Firstname", "Test lastname").then(function (savedUser) {
|
46
|
+
var userid = savedUser.id;
|
47
|
+
|
48
|
+
projectService.createAndReturnProjectAndProjectUser("createWithId", savedUser.id).then(function (savedProjectAndPU) {
|
49
|
+
var savedProject = savedProjectAndPU.project;
|
50
|
+
|
51
|
+
faqService.create("testbot", null, savedProject._id, savedUser._id, "tilebot", null, null, null, "en", "blank").then(async function (savedFaq_kb) {
|
52
|
+
|
53
|
+
var signOptions = {
|
54
|
+
issuer: 'https://tiledesk.com',
|
55
|
+
subject: 'bot',
|
56
|
+
audience: 'https://tiledesk.com/bots/' + savedFaq_kb._id,
|
57
|
+
jwtid: uuidv4()
|
58
|
+
};
|
59
|
+
|
60
|
+
let botPayload = savedFaq_kb.toObject();
|
61
|
+
let botSecret = botPayload.secret;
|
62
|
+
|
63
|
+
var bot_token = jwt.sign(botPayload, botSecret, signOptions);
|
64
|
+
|
65
|
+
leadService.createIfNotExists("leadfullname", "email@email.com", savedProject._id).then(function (createdLead) {
|
66
|
+
var now = Date.now();
|
67
|
+
var request = {
|
68
|
+
request_id: "request_id-createObjSimple-" + now, project_user_id: savedProjectAndPU.project_user._id, lead_id: createdLead._id,
|
69
|
+
id_project: savedProject._id, first_text: "first_text",
|
70
|
+
lead: createdLead, requester: savedProjectAndPU.project_user
|
71
|
+
};
|
72
|
+
|
73
|
+
requestService.create(request).then(function (savedRequest) {
|
74
|
+
|
75
|
+
chai.request(server)
|
76
|
+
.patch('/' + savedProject._id + '/requests/' + savedRequest.request_id + "/rating")
|
77
|
+
.set('Authorization', "JWT " + bot_token)
|
78
|
+
.send({ rating: 4, rating_message: "Good" })
|
79
|
+
.end((err, res) => {
|
80
|
+
|
81
|
+
if (err) { console.error("err: ", err) };
|
82
|
+
if (log) { console.log("res.body: ", res.body) };
|
83
|
+
|
84
|
+
res.should.have.status(200);
|
85
|
+
res.body.should.be.a('object');
|
86
|
+
expect(res.body.rating).to.equal(4);
|
87
|
+
expect(res.body.rating_message).to.equal('Good');
|
88
|
+
|
89
|
+
done()
|
90
|
+
});
|
91
|
+
});
|
92
|
+
});
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
});
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
// console.log("savedProject: ", savedProject)
|
101
|
+
// leadService.createIfNotExists("leadfullname", "email@email.com", savedProject._id).then(function (createdLead) {
|
102
|
+
// var now = Date.now();
|
103
|
+
// var request = {
|
104
|
+
// request_id: "request_id-createObjSimple-" + now, project_user_id: savedProjectAndPU.project_user._id, lead_id: createdLead._id,
|
105
|
+
// id_project: savedProject._id, first_text: "first_text",
|
106
|
+
// lead: createdLead, requester: savedProjectAndPU.project_user
|
107
|
+
// };
|
108
|
+
|
109
|
+
// console.log("request: ", request)
|
110
|
+
|
111
|
+
|
112
|
+
// requestService.create(request).then(function (savedRequest) {
|
113
|
+
|
114
|
+
// console.log("savedRequest: ", savedRequest);
|
115
|
+
// done();
|
116
|
+
// });
|
117
|
+
// });
|
118
|
+
});
|
119
|
+
|
120
|
+
})
|
121
|
+
|
122
|
+
|
123
|
+
}).timeout(10000);
|
124
|
+
})
|
125
|
+
|