This commit introduces a mutation on input value given to select-box-kit when value is empty. The refactoring required to avoid this would be too heavy atm, but ultimately we would want to avoid this.
62 lines
2.1 KiB
JavaScript
62 lines
2.1 KiB
JavaScript
import { componentTest } from 'wizard/test/helpers/component-test';
|
|
moduleForComponent('invite-list', { integration: true });
|
|
|
|
componentTest('can add users', {
|
|
template: `{{invite-list field=field}}`,
|
|
|
|
beforeEach() {
|
|
this.set('field', {});
|
|
},
|
|
|
|
test(assert) {
|
|
assert.ok(this.$('.users-list .invite-list-user').length === 0, 'no users at first');
|
|
assert.ok(this.$('.new-user .invalid').length === 0, 'not invalid at first');
|
|
|
|
const firstVal = JSON.parse(this.get('field.value'));
|
|
assert.equal(firstVal.length, 0, 'empty JSON at first');
|
|
|
|
assert.ok(this.get('field.warning'), 'it has a warning since no users were added');
|
|
|
|
click('.add-user');
|
|
andThen(() => {
|
|
assert.ok(this.$('.users-list .invite-list-user').length === 0, "doesn't add a blank user");
|
|
assert.ok(this.$('.new-user .invalid').length === 1);
|
|
});
|
|
|
|
fillIn('.invite-email', 'eviltrout@example.com');
|
|
click('.add-user');
|
|
|
|
andThen(() => {
|
|
assert.ok(this.$('.users-list .invite-list-user').length === 1, 'adds the user');
|
|
assert.ok(this.$('.new-user .invalid').length === 0);
|
|
|
|
const val = JSON.parse(this.get('field.value'));
|
|
assert.equal(val.length, 1);
|
|
assert.equal(val[0].email, 'eviltrout@example.com', 'adds the email to the JSON');
|
|
assert.ok(val[0].role.length, 'adds the role to the JSON');
|
|
assert.ok(!this.get('field.warning'), 'no warning once the user is added');
|
|
});
|
|
|
|
fillIn('.invite-email', 'eviltrout@example.com');
|
|
click('.add-user');
|
|
|
|
andThen(() => {
|
|
assert.ok(this.$('.users-list .invite-list-user').length === 1, "can't add the same user twice");
|
|
assert.ok(this.$('.new-user .invalid').length === 1);
|
|
});
|
|
|
|
fillIn('.invite-email', 'not-an-email');
|
|
click('.add-user');
|
|
|
|
andThen(() => {
|
|
assert.ok(this.$('.users-list .invite-list-user').length === 1, "won't add an invalid email");
|
|
assert.ok(this.$('.new-user .invalid').length === 1);
|
|
});
|
|
|
|
click('.invite-list .invite-list-user:eq(0) .remove-user');
|
|
andThen(() => {
|
|
assert.ok(this.$('.users-list .invite-list-user').length === 0, 'removed the user');
|
|
});
|
|
}
|
|
});
|