You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-desktop/ts/test/session/integration/message_functions_itest.ts

90 lines
2.6 KiB
TypeScript

/* eslint-disable func-names */
/* eslint-disable import/no-extraneous-dependencies */
// tslint:disable: await-promise
// tslint:disable: no-implicit-dependencies
// tslint:disable: no-invalid-this
import path from 'path';
import { afterEach, beforeEach, describe, it } from 'mocha';
import { Common } from './common';
import { Application } from 'spectron';
import ConversationPage from './page-objects/conversation.page';
describe('Message Functions', function() {
this.timeout(60000);
this.slow(20000);
let app: Application;
let app2: Application;
beforeEach(async () => {
await Common.killallElectron();
await Common.stopStubSnodeServer();
[app, app2] = await Common.startAppsAsFriends();
});
afterEach(async () => {
await Common.stopApp(app);
await Common.killallElectron();
await Common.stopStubSnodeServer();
});
it('messageFunction: can send attachment', async () => {
// create group and add new friend
4 years ago
await Common.addFriendToNewClosedGroup([app, app2]);
// send attachment from app1 to closed group
5 years ago
const fileLocation = path.join(__dirname, 'test_attachment');
const messageText = 'test_attachment';
await Common.closeToast(app);
await Common.sendMessage(app, messageText, fileLocation);
// validate attachment sent
await app.client.waitForExist(
ConversationPage.existingSendMessageText(messageText),
3000
);
// validate attachment recieved
await app2.client.waitForExist(
ConversationPage.existingReceivedMessageText(messageText),
5000
);
});
5 years ago
it('messageFunction: can delete message', async () => {
// create group and add new friend
4 years ago
await Common.addFriendToNewClosedGroup([app, app2]);
const messageText = 'delete_me';
await Common.sendMessage(app, messageText);
await app.client.waitForExist(
ConversationPage.existingSendMessageText(messageText),
5 years ago
6000
);
await app2.client.waitForExist(
ConversationPage.existingReceivedMessageText(messageText),
7000
);
5 years ago
// delete message in context menu
5 years ago
await app.client
.element(ConversationPage.messageCtxMenu(messageText))
.click();
await app.client.element(ConversationPage.deleteMessageCtxButton).click();
// delete message from modal
await app.client.waitForExist(
ConversationPage.deleteMessageModalButton,
5 years ago
5000
);
await app.client.element(ConversationPage.deleteMessageModalButton).click();
5 years ago
// verify the message is actually deleted
await app.client.isExisting(
ConversationPage.existingSendMessageText(messageText)
).should.eventually.be.false;
});
});