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.
main
${ noResults }
83 lines
2.4 KiB
TypeScript
83 lines
2.4 KiB
TypeScript
import { AdminPluginPage } from '../po/admin-plugin.po'
|
|||
import { LoginPage } from '../po/login.po'
|
|||
import { VideoUploadPage } from '../po/video-upload.po'
|
|||
import { getCheckbox, isMobileDevice, waitServerUp } from '../utils'
|
|||
|
|||
describe('Plugins', () => {
|
|||
let videoUploadPage: VideoUploadPage
|
|||
let loginPage: LoginPage
|
|||
let adminPluginPage: AdminPluginPage
|
|||
|
|||
function getPluginCheckbox () {
|
|||
return getCheckbox('hello-world-field-4')
|
|||
}
|
|||
|
|||
async function expectSubmitState ({ disabled }: { disabled: boolean }) {
|
|||
const disabledSubmit = await $('my-button [disabled]')
|
|||
|
|||
if (disabled) expect(await disabledSubmit.isDisplayed()).toBeTruthy()
|
|||
else expect(await disabledSubmit.isDisplayed()).toBeFalsy()
|
|||
}
|
|||
|
|||
before(async () => {
|
|||
await waitServerUp()
|
|||
})
|
|||
|
|||
beforeEach(async () => {
|
|||
loginPage = new LoginPage(isMobileDevice())
|
|||
videoUploadPage = new VideoUploadPage()
|
|||
adminPluginPage = new AdminPluginPage()
|
|||
|
|||
await browser.maximizeWindow()
|
|||
})
|
|||
|
|||
it('Should install hello world plugin', async () => {
|
|||
await loginPage.loginAsRootUser()
|
|||
|
|||
await adminPluginPage.navigateToPluginSearch()
|
|||
await adminPluginPage.search('hello-world')
|
|||
await adminPluginPage.installHelloWorld()
|
|||
await browser.refresh()
|
|||
})
|
|||
|
|||
it('Should have checkbox in video edit page', async () => {
|
|||
await videoUploadPage.navigateTo()
|
|||
await videoUploadPage.uploadVideo('video.mp4')
|
|||
|
|||
await $('span=Super field 4 in main tab').waitForDisplayed()
|
|||
|
|||
const checkbox = await getPluginCheckbox()
|
|||
expect(await checkbox.isDisplayed()).toBeTruthy()
|
|||
|
|||
await expectSubmitState({ disabled: true })
|
|||
})
|
|||
|
|||
it('Should check the checkbox and be able to submit the video', async function () {
|
|||
const checkbox = await getPluginCheckbox()
|
|||
|
|||
await checkbox.waitForClickable()
|
|||
await checkbox.click()
|
|||
|
|||
await expectSubmitState({ disabled: false })
|
|||
})
|
|||
|
|||
it('Should uncheck the checkbox and not be able to submit the video', async function () {
|
|||
const checkbox = await getPluginCheckbox()
|
|||
|
|||
await checkbox.waitForClickable()
|
|||
await checkbox.click()
|
|||
|
|||
await expectSubmitState({ disabled: true })
|
|||
|
|||
const error = await $('.form-error*=Should be enabled')
|
|||
|
|||
expect(await error.isDisplayed()).toBeTruthy()
|
|||
})
|
|||
|
|||
it('Should change the privacy and should hide the checkbox', async function () {
|
|||
await videoUploadPage.setAsPrivate()
|
|||
|
|||
await expectSubmitState({ disabled: false })
|
|||
})
|
|||
})
|