75 lines
2.3 KiB
JavaScript
75 lines
2.3 KiB
JavaScript
var utils = require('../utils');
|
|
|
|
var helper = module.exports;
|
|
|
|
helper.create = async function(indexType, name, desc, option) {
|
|
let type = $$('div[tg-project-custom-attributes]').get(indexType);
|
|
|
|
type.$('.js-add-custom-field-button').click();
|
|
let form = type.$$('form').last();
|
|
|
|
await form.$('input[name="name"]').sendKeys(name);
|
|
await form.$('input[name="description"]').sendKeys(desc);
|
|
form.$(`select option:nth-child(${option})`).click();
|
|
|
|
let saveButton = form.$('.js-create-custom-field-button');
|
|
|
|
return browser.actions()
|
|
.mouseMove(saveButton)
|
|
.click()
|
|
.perform();
|
|
};
|
|
|
|
helper.edit = async function(indexType, indexCustomField, name, desc, option) {
|
|
let form = helper.getCustomFiledsByType(indexType).get(indexCustomField);
|
|
|
|
await browser.actions()
|
|
.mouseMove(form.$('.js-edit-custom-field-button'))
|
|
.click()
|
|
.perform();
|
|
|
|
await form.$('input[name="name"]').sendKeys(name);
|
|
await form.$('input[name="description"]').sendKeys(desc);
|
|
|
|
await form.$('select').click();
|
|
|
|
await form.$(`select option:nth-child(${option})`).click();
|
|
|
|
let saveButton = form.$('.js-update-custom-field-button');
|
|
|
|
return browser.actions()
|
|
.mouseMove(saveButton)
|
|
.click()
|
|
.perform();
|
|
};
|
|
|
|
helper.drag = function(indexType, indexCustomField, indexNewPosition) {
|
|
let customField = helper.getCustomFiledsByType(indexType).get(indexCustomField);
|
|
let newPosition = helper.getCustomFiledsByType(indexType).get(indexNewPosition).getLocation();
|
|
|
|
return utils.common.drag(customField, newPosition, {y: 30});
|
|
};
|
|
|
|
helper.getCustomFiledsByType = function(indexType) {
|
|
return $$('div[tg-project-custom-attributes]').get(indexType).$$('.js-sortable > div');
|
|
};
|
|
|
|
helper.delete = async function(indexType, indexCustomField) {
|
|
let customField = helper.getCustomFiledsByType(indexType).get(indexCustomField);
|
|
|
|
browser.actions()
|
|
.mouseMove(customField.$('.js-delete-custom-field-button'))
|
|
.click()
|
|
.perform();
|
|
|
|
return utils.lightbox.confirm.ok();
|
|
};
|
|
|
|
helper.getName = function(indexType, indexCustomField) {
|
|
return helper.getCustomFiledsByType(indexType).get(indexCustomField).$('.custom-name span').getText();
|
|
};
|
|
|
|
helper.getDetailFields = function() {
|
|
return $$('.custom-fields-body div[tg-custom-attribute-value]');
|
|
};
|