forked from nishant8BITS/Rocket.Chat
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchecks.js
More file actions
84 lines (76 loc) · 2.72 KB
/
Copy pathchecks.js
File metadata and controls
84 lines (76 loc) · 2.72 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import loginPage from '../pageobjects/login.page';
import mainContent from '../pageobjects/main-content.page';
import sideNav from '../pageobjects/side-nav.page';
export let publicChannelCreated = false;
export let privateChannelCreated = false;
export let directMessageCreated = false;
export function setPublicChannelCreated(status) {
publicChannelCreated = status;
}
export function setPrivateChannelCreated(status) {
privateChannelCreated = status;
}
export function setDirectMessageCreated(status) {
directMessageCreated = status;
}
export function checkIfUserIsValid(username, email, password) {
if (!sideNav.sidebarHeader.isVisible()) {
//if the user is not logged in.
console.log(' User not logged. logging in...');
loginPage.open();
loginPage.login({email, password});
try {
mainContent.mainContent.waitForExist(5000);
} catch (e) {
//if the user dont exist.
console.log(' User dont exist. Creating user...');
loginPage.gotToRegister();
loginPage.registerNewUser({username, email, password});
browser.waitForExist('form#login-card input#username', 5000);
browser.click('.submit > button');
mainContent.mainContent.waitForExist(5000);
}
} else if (browser.execute(() => Meteor.user().username).value !== username) {
//if the logged user is not the right one
console.log(' Wrong logged user. Changing user...');
sideNav.sidebarUserMenu.waitForVisible(5000);
sideNav.sidebarUserMenu.click();
sideNav.logout.waitForVisible(5000);
sideNav.logout.click();
loginPage.open();
loginPage.loginSucceded({email, password});
mainContent.mainContent.waitForExist(5000);
} else {
console.log(' User already logged');
}
}
export function checkIfUserIsAdmin(username, email, password) {
if (!sideNav.sidebarHeader.isVisible()) {
//if the user is not logged in.
console.log(' User not logged. logging in...');
loginPage.open();
loginPage.login({email, password});
try {
mainContent.mainContent.waitForExist(5000);
} catch (e) {
//if the user dont exist.
console.log(' Admin User dont exist. Creating user...');
loginPage.gotToRegister();
loginPage.registerNewUser({username, email, password});
browser.waitForExist('form#login-card input#username', 5000);
browser.click('.submit > button');
mainContent.mainContent.waitForExist(5000);
}
} else if (browser.execute(() => Meteor.user().username).value !== username) {
//if the logged user is not the right one
console.log(' Wrong logged user. Changing user...');
sideNav.sidebarUserMenu.waitForVisible(5000);
sideNav.sidebarUserMenu.click();
sideNav.logout.waitForVisible(5000);
sideNav.logout.click();
loginPage.open();
loginPage.loginSucceded({email, password});
} else {
console.log(' User already logged');
}
}