import { join } from 'path'
export class VideoUploadPage {
- navigateTo () {
- return browser.get('/videos/upload')
+ async navigateTo () {
+ await element(by.css('.header .upload-button')).click()
+
+ return browser.wait(browser.ExpectedConditions.visibilityOf(element(by.css('.upload-video-container'))))
}
async uploadVideo () {
browser.setFileDetector(new FileDetector())
const fileToUpload = join(__dirname, '../../fixtures/video.mp4')
+ const fileInputSelector = '.upload-video-container input[type=file]'
+ const parentFileInput = '.upload-video .button-file'
+
+ // Avoid sending keys on non visible element
+ await browser.executeScript(`document.querySelector('${fileInputSelector}').style.opacity = 1`)
+ // await browser.executeScript(`document.querySelector('${fileInputSelector}').style.opacity = 1`)
+ await browser.executeScript(`document.querySelector('${parentFileInput}').style.overflow = 'initial'`)
- await element(by.css('.upload-video-container input[type=file]')).sendKeys(fileToUpload)
+ const elem = element(by.css(fileInputSelector))
+ await elem.sendKeys(fileToUpload)
// Wait for the upload to finish
await browser.wait(browser.ExpectedConditions.elementToBeClickable(this.getSecondStepSubmitButton()))