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.
91 lines
2.7 KiB
TypeScript
91 lines
2.7 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 { afterEach, beforeEach, describe, it } from 'mocha';
|
|
import { Common } from './common';
|
|
import { Application } from 'spectron';
|
|
|
|
import ConversationPage from './page-objects/conversation.page';
|
|
|
|
describe('Add contact', function() {
|
|
this.timeout(60000);
|
|
this.slow(20000);
|
|
let app: Application;
|
|
let app2: Application;
|
|
|
|
beforeEach(async () => {
|
|
await Common.killallElectron();
|
|
await Common.stopStubSnodeServer();
|
|
|
|
const app1Props = {
|
|
recoveryPhrase: Common.TEST_RECOVERY_PHRASE_1,
|
|
displayName: Common.TEST_DISPLAY_NAME1,
|
|
};
|
|
|
|
const app2Props = {
|
|
recoveryPhrase: Common.TEST_RECOVERY_PHRASE_2,
|
|
displayName: Common.TEST_DISPLAY_NAME2,
|
|
};
|
|
|
|
[app, app2] = await Promise.all([
|
|
Common.startAndStub(app1Props),
|
|
Common.startAndStubN(app2Props, 2),
|
|
]);
|
|
});
|
|
|
|
afterEach(async () => {
|
|
await Common.stopApp(app);
|
|
await Common.killallElectron();
|
|
await Common.stopStubSnodeServer();
|
|
});
|
|
|
|
it('addContacts: can add a contact by sessionID', async () => {
|
|
const textMessage = Common.generateSendMessageText();
|
|
|
|
await app.client.element(ConversationPage.contactsButtonSection).click();
|
|
await app.client.element(ConversationPage.addContactButton).click();
|
|
await app.client.isExisting(ConversationPage.leftPaneOverlay).should
|
|
.eventually.be.true;
|
|
|
|
await Common.setValueWrapper(
|
|
app,
|
|
ConversationPage.sessionIDInput,
|
|
Common.TEST_PUBKEY2
|
|
);
|
|
await app.client
|
|
.element(ConversationPage.sessionIDInput)
|
|
.getValue()
|
|
.should.eventually.equal(Common.TEST_PUBKEY2);
|
|
|
|
await app.client.element(ConversationPage.nextButton).click();
|
|
await app.client.waitForExist(ConversationPage.sendMessageTextarea, 1000);
|
|
|
|
// send a text message to that user
|
|
await app.client
|
|
.element(ConversationPage.sendMessageTextarea)
|
|
.setValue(textMessage);
|
|
await app.client.keys('Enter');
|
|
await app.client.waitForExist(
|
|
ConversationPage.existingSendMessageText(textMessage),
|
|
1000
|
|
);
|
|
|
|
// assure session request message has been sent
|
|
await Common.timeout(3000);
|
|
await app.client.isExisting(ConversationPage.retrySendButton).should
|
|
.eventually.be.false;
|
|
|
|
await app2.client.waitForExist(ConversationPage.conversationItem, 5000);
|
|
|
|
await app2.client.element(ConversationPage.conversationItem).click();
|
|
|
|
await app2.client.waitForExist(
|
|
ConversationPage.existingReceivedMessageText(textMessage),
|
|
1000
|
|
);
|
|
});
|
|
});
|