-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmessageFiles.test.ts
52 lines (44 loc) · 1.69 KB
/
messageFiles.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import { initializeClient } from './setupClient';
//import fs from 'fs';
//import path from 'path';
beforeAll(async () => {
await initializeClient(process.env.KANVAS_APP_SECRET!);
});
describe('Test the Social Messages Upload', () => {
it('attach file to message', async () => {
/* const client = getClient();
const messages = client.messages;
const messageContent = 'Hello, Kanvas!';
// Create a new message
const newMessage = await messages.createMessage({
message_verb: 'post',
message: messageContent,
});
expect(newMessage).toBeDefined();
expect(newMessage.id).toBeDefined();
expect(newMessage.message).toBe(messageContent);
// Path to the file you want to attach
const filePath = path.join(__dirname, '/files', 'file.txt'); // Adjust the file path as needed
// Use fs.createReadStream to create a ReadStream for the file
const fileStream = fs.createReadStream(filePath);
let buffer = Buffer.alloc(0);
for await (const chunk of fileStream) {
buffer = Buffer.concat([buffer, chunk]);
}
// Attach the file stream to the message
const attachFileToMessage = await messages.attachFileToMessage(
newMessage.id,
buffer,
'file.txt'
);
// Assertions to check the response
expect(attachFileToMessage.attachFileToMessage.id).toBeDefined();
expect(attachFileToMessage.attachFileToMessage.message).toBe(
messageContent
);
expect(attachFileToMessage.attachFileToMessage.files.data.length).toBe(1);
expect(attachFileToMessage.attachFileToMessage.files.data[0].name).toBe(
path.basename(filePath)
); // Expect 'file.txt' */
});
});