blob: db1d30894a5f012b80328df47072b7d05f2a3df3 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var App = require('app');
require('models/authentication');
var form,
methods = [
{
name: 'method',
fields: ['primaryServer', 'searchBaseDn', 'usernameAttribute']
},
{
name: 'bindMethod',
fields: ['bindUser', 'password', 'passwordRetype']
}
],
classCases = [
{
result: 0,
message: 'fail',
className: 'danger'
},
{
result: 1,
message: 'success',
className: 'success'
}
];
describe('App.AuthenticationForm', function () {
beforeEach(function() {
form = App.AuthenticationForm.create();
});
methods.forEach(function (method) {
method.fields.forEach(function (field) {
describe('#' + field + '.isRequired', function () {
[2, 1, 0].forEach(function (i) {
it('should be ' + i + ' dependent on ' + method.name + ' value', function () {
form.getField(method.name).set('value', i);
expect(form.getField(field).get('isRequired')).to.equal(i);
});
});
});
});
});
App.TestAliases.testAsComputedIfThenElse(App.AuthenticationForm.create(), 'testConfigurationMessage', 'testResult', Em.I18n.t('admin.authentication.form.test.success'), Em.I18n.t('admin.authentication.form.test.fail'));
App.TestAliases.testAsComputedIfThenElse(App.AuthenticationForm.create(), 'testConfigurationClass', 'testResult', 'text-success', 'text-danger');
describe('#testResult', function () {
it('should be 0 or 1', function () {
form.testConfiguration();
expect([0, 1]).to.include(Number(form.get('testResult')));
});
});
describe('#testConfigurationMessage', function () {
classCases.forEach(function (item) {
it('should indicate ' + item.message, function () {
form.set('testResult', item.result);
expect(form.get('testConfigurationMessage')).to.equal(Em.I18n.t('admin.authentication.form.test.' + item.message));
});
});
});
describe('#testConfigurationClass', function () {
classCases.forEach(function (item) {
it('should indicate ' + item.className, function () {
form.set('testResult', item.result);
expect(form.get('testConfigurationClass')).to.equal('text-' + item.className);
});
});
});
});