]>
Commit | Line | Data |
---|---|---|
0b33c520 | 1 | import { join } from 'path' |
a9bfa85d | 2 | import { getCheckbox, selectCustomSelect } from '../utils' |
5f92c4dc C |
3 | |
4 | export class VideoUploadPage { | |
d1bd87e0 | 5 | async navigateTo () { |
3c065fe3 C |
6 | const publishButton = await $('.header .publish-button') |
7 | ||
8 | await publishButton.waitForClickable() | |
9 | await publishButton.click() | |
d1bd87e0 | 10 | |
3419e0e1 | 11 | await $('.upload-video-container').waitForDisplayed() |
5f92c4dc C |
12 | } |
13 | ||
14 | async uploadVideo () { | |
15 | const fileToUpload = join(__dirname, '../../fixtures/video.mp4') | |
d1bd87e0 | 16 | const fileInputSelector = '.upload-video-container input[type=file]' |
84c7cde6 | 17 | const parentFileInput = '.upload-video-container .button-file' |
d1bd87e0 C |
18 | |
19 | // Avoid sending keys on non visible element | |
3419e0e1 C |
20 | await browser.execute(`document.querySelector('${fileInputSelector}').style.opacity = 1`) |
21 | await browser.execute(`document.querySelector('${parentFileInput}').style.overflow = 'initial'`) | |
5f92c4dc | 22 | |
3419e0e1 | 23 | await browser.pause(1000) |
84c7cde6 | 24 | |
3419e0e1 C |
25 | const elem = await $(fileInputSelector) |
26 | await elem.chooseFile(fileToUpload) | |
5f92c4dc C |
27 | |
28 | // Wait for the upload to finish | |
3419e0e1 | 29 | await browser.waitUntil(async () => { |
3c065fe3 C |
30 | const warning = await $('=Publish will be available when upload is finished').isDisplayed() |
31 | const progress = await $('.progress-bar=100%').isDisplayed() | |
3ec535f7 | 32 | |
3c065fe3 | 33 | return !warning && progress |
3ec535f7 | 34 | }) |
5f92c4dc C |
35 | } |
36 | ||
3c065fe3 C |
37 | async setAsNSFW () { |
38 | const checkbox = await getCheckbox('nsfw') | |
39 | ||
40 | return checkbox.click() | |
6d210220 C |
41 | } |
42 | ||
5f92c4dc | 43 | async validSecondUploadStep (videoName: string) { |
3419e0e1 C |
44 | const nameInput = $('input#name') |
45 | await nameInput.clearValue() | |
46 | await nameInput.setValue(videoName) | |
5f92c4dc C |
47 | |
48 | await this.getSecondStepSubmitButton().click() | |
49 | ||
3419e0e1 C |
50 | return browser.waitUntil(async () => { |
51 | return (await browser.getUrl()).includes('/w/') | |
52 | }) | |
5f92c4dc C |
53 | } |
54 | ||
a9bfa85d C |
55 | setAsPublic () { |
56 | return selectCustomSelect('privacy', 'Public') | |
57 | } | |
58 | ||
3c065fe3 C |
59 | setAsPrivate () { |
60 | return selectCustomSelect('privacy', 'Private') | |
61 | } | |
62 | ||
5f92c4dc | 63 | private getSecondStepSubmitButton () { |
3419e0e1 | 64 | return $('.submit-container my-button') |
5f92c4dc C |
65 | } |
66 | } |