|
|
|
|
@ -1,5 +1,4 @@ |
|
|
|
|
import { test, expect } from './utils/test'; |
|
|
|
|
import { BASE_API_URL, ADMIN_CREDENTIALS } from './config/constants'; |
|
|
|
|
import { HomeChannel } from './page-objects'; |
|
|
|
|
import { createTargetChannel } from './utils'; |
|
|
|
|
|
|
|
|
|
@ -7,18 +6,10 @@ test.use({ storageState: 'user2-session.json' }); |
|
|
|
|
|
|
|
|
|
test.describe.serial('permissions', () => { |
|
|
|
|
let poHomeChannel: HomeChannel; |
|
|
|
|
let apiSessionHeaders: { 'X-Auth-Token': string; 'X-User-Id': string }; |
|
|
|
|
let targetChannel: string; |
|
|
|
|
|
|
|
|
|
test.beforeAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/login`, { data: ADMIN_CREDENTIALS }); |
|
|
|
|
const { userId, authToken } = (await response.json()).data; |
|
|
|
|
|
|
|
|
|
apiSessionHeaders = { 'X-Auth-Token': authToken, 'X-User-Id': userId }; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.beforeAll(async ({ browser }) => { |
|
|
|
|
targetChannel = await createTargetChannel(browser); |
|
|
|
|
test.beforeAll(async ({ api }) => { |
|
|
|
|
targetChannel = await createTargetChannel(api); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.beforeEach(async ({ page }) => { |
|
|
|
|
@ -28,13 +19,10 @@ test.describe.serial('permissions', () => { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.describe.serial('Edit message', () => { |
|
|
|
|
test.beforeAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/Message_AllowEditing`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: false }, |
|
|
|
|
}); |
|
|
|
|
test.beforeAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/Message_AllowEditing', { value: false })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test('expect option(edit) not be visible', async () => { |
|
|
|
|
@ -45,24 +33,18 @@ test.describe.serial('permissions', () => { |
|
|
|
|
await expect(poHomeChannel.content.btnOptionEditMessage).toBeHidden(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.afterAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/Message_AllowEditing`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: true }, |
|
|
|
|
}); |
|
|
|
|
test.afterAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/Message_AllowEditing', { value: true })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.describe.serial('Delete message', () => { |
|
|
|
|
test.beforeAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/Message_AllowDeleting`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: false }, |
|
|
|
|
}); |
|
|
|
|
test.beforeAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/Message_AllowDeleting', { value: false })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test('expect option(delete) not be visible', async () => { |
|
|
|
|
@ -73,26 +55,20 @@ test.describe.serial('permissions', () => { |
|
|
|
|
await expect(poHomeChannel.content.btnOptionDeleteMessage).toBeHidden(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.afterAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/Message_AllowDeleting`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: true }, |
|
|
|
|
}); |
|
|
|
|
test.afterAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/Message_AllowDeleting', { value: true })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.describe.serial('Pin message', () => { |
|
|
|
|
test.use({ storageState: 'admin-session.json' }); |
|
|
|
|
|
|
|
|
|
test.beforeAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/Message_AllowPinning`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: false }, |
|
|
|
|
}); |
|
|
|
|
test.beforeAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/Message_AllowPinning', { value: false })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test('expect option(pin) not be visible', async () => { |
|
|
|
|
@ -103,26 +79,20 @@ test.describe.serial('permissions', () => { |
|
|
|
|
await expect(poHomeChannel.content.btnOptionPinMessage).toBeHidden(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.afterAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/Message_AllowPinning`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: true }, |
|
|
|
|
}); |
|
|
|
|
test.afterAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/Message_AllowPinning', { value: true })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// FIXME: Wrong behavior in Rocket.chat, currently it shows the button
|
|
|
|
|
// and after a click a "not allowed" alert pops up
|
|
|
|
|
test.describe.skip('Star message', () => { |
|
|
|
|
test.beforeAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/Message_AllowStarring`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: false }, |
|
|
|
|
}); |
|
|
|
|
test.beforeAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/Message_AllowStarring', { value: false })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test('expect option(star) not be visible', async () => { |
|
|
|
|
@ -133,24 +103,18 @@ test.describe.serial('permissions', () => { |
|
|
|
|
await expect(poHomeChannel.content.btnOptionStarMessage).toBeHidden(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.afterAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/Message_AllowStarring`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: true }, |
|
|
|
|
}); |
|
|
|
|
test.afterAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/Message_AllowStarring', { value: true })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.describe.serial('Upload file', () => { |
|
|
|
|
test.beforeAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/FileUpload_Enabled`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: false }, |
|
|
|
|
}); |
|
|
|
|
test.beforeAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/FileUpload_Enabled', { value: false })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test('expect option(upload file) not be visible', async () => { |
|
|
|
|
@ -160,24 +124,18 @@ test.describe.serial('permissions', () => { |
|
|
|
|
await expect(poHomeChannel.content.btnOptionFileUpload).toBeHidden(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.afterAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/FileUpload_Enabled`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: true }, |
|
|
|
|
}); |
|
|
|
|
test.afterAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/FileUpload_Enabled', { value: true })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.describe.serial('Upload audio', () => { |
|
|
|
|
test.beforeAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/Message_AudioRecorderEnabled`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: false }, |
|
|
|
|
}); |
|
|
|
|
test.beforeAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/Message_AudioRecorderEnabled', { value: false })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test('expect option(upload audio) not be visible', async () => { |
|
|
|
|
@ -187,24 +145,18 @@ test.describe.serial('permissions', () => { |
|
|
|
|
await expect(poHomeChannel.content.btnRecordAudio).toBeHidden(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.afterAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/Message_AudioRecorderEnabled`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: true }, |
|
|
|
|
}); |
|
|
|
|
test.afterAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/Message_AudioRecorderEnabled', { value: true })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.describe.serial('Upload video', () => { |
|
|
|
|
test.beforeAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/Message_VideoRecorderEnabled`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: false }, |
|
|
|
|
}); |
|
|
|
|
test.beforeAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/Message_VideoRecorderEnabled', { value: false })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test('expect option(upload video) not be visible', async () => { |
|
|
|
|
@ -214,31 +166,20 @@ test.describe.serial('permissions', () => { |
|
|
|
|
await expect(poHomeChannel.content.btnVideoMessage).toBeHidden(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.afterAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/Message_VideoRecorderEnabled`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: true }, |
|
|
|
|
}); |
|
|
|
|
test.afterAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/Message_VideoRecorderEnabled', { value: true })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// FIXME:
|
|
|
|
|
test.describe.skip('Filter words', () => { |
|
|
|
|
test.beforeAll(async ({ request }) => { |
|
|
|
|
const response1 = await request.post(`${BASE_API_URL}/settings/Message_AllowBadWordsFilter`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: false }, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const response2 = await request.post(`${BASE_API_URL}/settings/Message_BadWordsFilterList`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: 'badword' }, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
expect(response1.status()).toBe(200); |
|
|
|
|
expect(response2.status()).toBe(200); |
|
|
|
|
test.beforeAll(async ({ api }) => { |
|
|
|
|
const statusCode1 = (await api.post('/settings/Message_AllowBadWordsFilter', { value: true })).status(); |
|
|
|
|
const statusCode2 = (await api.post('/settings/Message_BadWordsFilterList', { value: 'badword' })).status(); |
|
|
|
|
|
|
|
|
|
expect(statusCode1).toBe(200); |
|
|
|
|
expect(statusCode2).toBe(200); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test('expect badword be censored', async () => { |
|
|
|
|
@ -248,13 +189,10 @@ test.describe.serial('permissions', () => { |
|
|
|
|
await expect(poHomeChannel.content.lastUserMessage).toContainText('*'.repeat(7)); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
test.afterAll(async ({ request }) => { |
|
|
|
|
const response = await request.post(`${BASE_API_URL}/settings/Message_AllowBadWordsFilter`, { |
|
|
|
|
headers: apiSessionHeaders, |
|
|
|
|
data: { value: true }, |
|
|
|
|
}); |
|
|
|
|
test.afterAll(async ({ api }) => { |
|
|
|
|
const statusCode = (await api.post('/settings/Message_AllowBadWordsFilter', { value: false })).status(); |
|
|
|
|
|
|
|
|
|
expect(response.status()).toBe(200); |
|
|
|
|
expect(statusCode).toBe(200); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|