blob: 299fbb5adb587a48f352429f17ec80c0e8577017 [file] [log] [blame]
describe('Home e2e Test', function() {
/*Common methods for interact with elements*/
let clickOn = function(elem) {
browser.actions().mouseMove(elem).click().perform()
}
let sendKeysToInput = function(input, keys) {
cleanInput(input)
input.sendKeys(keys)
}
let cleanInput = function(inputElem) {
inputElem.sendKeys(protractor.Key.chord(protractor.Key.CONTROL, "a"))
inputElem.sendKeys(protractor.Key.BACK_SPACE)
}
let scrollToElementAndClick = function(elem) {
browser.executeScript("arguments[0].scrollIntoView(false);", elem.getWebElement())
browser.sleep(100)
clickOn(elem)
}
//tests
it('should have a welcome message', function() {
browser.get('http://localhost:8080');
var welcomeElem = element(by.id('welcome'))
expect(welcomeElem.getText()).toEqual('Welcome to Zeppelin!')
})
it('should have the button for importing notebook', function() {
var btn = element(by.cssContainingText('a', 'Import note'))
expect(btn.isPresent()).toBe(true)
})
it('should have the button for creating notebook', function() {
var btn = element(by.cssContainingText('a', 'Create new note'))
expect(btn.isPresent()).toBe(true)
})
it('correct save permission in interpreter', function() {
var ownerName = 'admin'
var interpreterName = 'interpreter_e2e_test'
clickOn(element(by.xpath('//span[@class="username ng-binding"]')))
clickOn(element(by.xpath('//a[@href="#/interpreter"]')))
clickOn(element(by.xpath('//button[@ng-click="showAddNewSetting = !showAddNewSetting"]')))
sendKeysToInput(element(by.xpath('//input[@id="newInterpreterSettingName"]')), interpreterName)
clickOn(element(by.xpath('//select[@ng-model="newInterpreterSetting.group"]')))
browser.sleep(500)
browser.actions().sendKeys(protractor.Key.ARROW_DOWN).perform()
browser.actions().sendKeys(protractor.Key.ENTER).perform()
clickOn(element(by.xpath('//div[@ng-show="showAddNewSetting"]//input[@id="idShowPermission"]')))
sendKeysToInput(element(by.xpath('//div[@ng-show="showAddNewSetting"]//input[@class="select2-search__field"]')), ownerName)
browser.sleep(500)
browser.actions().sendKeys(protractor.Key.ENTER).perform()
scrollToElementAndClick(element(by.xpath('//span[@ng-click="addNewInterpreterSetting()"]')))
scrollToElementAndClick(element(by.xpath('//*[@id="' + interpreterName + '"]//span[@class="fa fa-pencil"]')))
scrollToElementAndClick(element(by.xpath('//*[@id="' + interpreterName + '"]//button[@type="submit"]')))
clickOn(element(by.xpath('//div[@class="bootstrap-dialog-footer-buttons"]//button[contains(text(), \'OK\')]')))
browser.get('http://localhost:8080/#/interpreter');
var text = element(by.xpath('//*[@id="' + interpreterName + '"]//li[contains(text(), \'admin\')]')).getText()
scrollToElementAndClick(element(by.xpath('//*[@id="' + interpreterName + '"]//span//span[@class="fa fa-trash"]')))
clickOn(element(by.xpath('//div[@class="bootstrap-dialog-footer-buttons"]//button[contains(text(), \'OK\')]')))
expect(text).toEqual(ownerName);
})
})