
| Current Path : /var/www/html/german-vocational.cn/core/tests/Drupal/Nightwatch/Commands/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/german-vocational.cn/core/tests/Drupal/Nightwatch/Commands/drupalCreateUser.js |
/**
* Logs into Drupal as the given user.
*
* @param {object} settings
* Settings object
* @param {string} settings.name
* The user name.
* @param {string} settings.password
* The user password.
* @param {array} [settings.permissions=[]]
* The list of permissions granted for the user.
* @param {function} callback
* A callback which will be called, when the creating the use is finished.
* @return {object}
* The drupalCreateUser command.
*/
exports.command = function drupalCreateUser(
{ name, password, permissions = [] },
callback,
) {
const self = this;
let role;
this.perform((client, done) => {
if (permissions) {
client.drupalCreateRole({ permissions, name: null }, newRole => {
role = newRole;
done();
});
} else {
done();
}
}).drupalLoginAsAdmin(() => {
this.drupalRelativeURL('/admin/people/create')
.setValue('input[name="name"]', name)
.setValue('input[name="pass[pass1]"]', password)
.setValue('input[name="pass[pass2]"]', password)
.perform((client, done) => {
if (role) {
client.click(`input[name="roles[${role}]`, () => {
done();
});
} else {
done();
}
})
.submitForm('#user-register-form')
.assert.containsText(
'.messages',
'Created a new user account',
`User "${name}" was created succesfully.`,
);
});
if (typeof callback === 'function') {
callback.call(self);
}
return this;
};