|
@@ -17,21 +17,24 @@
|
|
|
*/
|
|
|
|
|
|
var App = require('app');
|
|
|
+var view;
|
|
|
|
|
|
-describe('App.TimeIntervalSpinnerView', function() {
|
|
|
- describe('#generateWidgetValue', function(){
|
|
|
- beforeEach(function() {
|
|
|
- this.view = App.TimeIntervalSpinnerView.create({
|
|
|
- initPopover: Em.K
|
|
|
- });
|
|
|
- });
|
|
|
+describe('App.TimeIntervalSpinnerView', function () {
|
|
|
|
|
|
- afterEach(function() {
|
|
|
- this.view.destroy();
|
|
|
- this.view = null;
|
|
|
+ beforeEach(function () {
|
|
|
+ view = App.TimeIntervalSpinnerView.create({
|
|
|
+ initPopover: Em.K,
|
|
|
+ checkErrors: Em.K
|
|
|
});
|
|
|
+ });
|
|
|
|
|
|
- var createProperty = function(widgetUnits, configPropertyUnits) {
|
|
|
+ afterEach(function () {
|
|
|
+ view.destroy();
|
|
|
+ });
|
|
|
+
|
|
|
+ describe('#generateWidgetValue', function () {
|
|
|
+
|
|
|
+ var createProperty = function (widgetUnits, configPropertyUnits, incrementStep) {
|
|
|
return Em.Object.create({
|
|
|
stackConfigProperty: Em.Object.create({
|
|
|
widget: {
|
|
@@ -39,80 +42,137 @@ describe('App.TimeIntervalSpinnerView', function() {
|
|
|
{ unit: widgetUnits }
|
|
|
]
|
|
|
},
|
|
|
- valueAttributes: { unit: configPropertyUnits }
|
|
|
+ valueAttributes: {
|
|
|
+ unit: configPropertyUnits,
|
|
|
+ increment_step: incrementStep
|
|
|
+ }
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
+
|
|
|
var tests = [
|
|
|
{
|
|
|
input: 60000,
|
|
|
- config: createProperty("days,hours,minutes", "milliseconds"),
|
|
|
+ config: createProperty("days,hours,minutes", "milliseconds", 1000),
|
|
|
e: [
|
|
|
- { label: 'Days', value: 0},
|
|
|
- { label: 'Hours', value: 0},
|
|
|
- { label: 'Minutes', value: 1}
|
|
|
+ { label: 'Days', value: 0, incrementStep: 1, enabled: true},
|
|
|
+ { label: 'Hours', value: 0, incrementStep: 1, enabled: true},
|
|
|
+ { label: 'Minutes', value: 1, incrementStep: 1, enabled: true}
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
input: "2592000000",
|
|
|
- config: createProperty("days,hours,minutes", "milliseconds"),
|
|
|
+ config: createProperty("days,hours,minutes", "milliseconds", 60000),
|
|
|
e: [
|
|
|
- { label: 'Days', value: 30},
|
|
|
- { label: 'Hours', value: 0},
|
|
|
- { label: 'Minutes', value: 0}
|
|
|
+ { label: 'Days', value: 30, incrementStep: 1, enabled: true},
|
|
|
+ { label: 'Hours', value: 0, incrementStep: 1, enabled: true},
|
|
|
+ { label: 'Minutes', value: 0, incrementStep: 1, enabled: true}
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
input: "604800000",
|
|
|
- config: createProperty("days,hours,minutes", "milliseconds"),
|
|
|
+ config: createProperty("days,hours,minutes", "milliseconds", 60000),
|
|
|
e: [
|
|
|
- { label: 'Days', value: 7},
|
|
|
- { label: 'Hours', value: 0},
|
|
|
- { label: 'Minutes', value: 0}
|
|
|
+ { label: 'Days', value: 7, incrementStep: 1, enabled: true},
|
|
|
+ { label: 'Hours', value: 0, incrementStep: 1, enabled: true},
|
|
|
+ { label: 'Minutes', value: 0, incrementStep: 1, enabled: true}
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
input: "804820200",
|
|
|
- config: createProperty("days,hours,minutes", "milliseconds"),
|
|
|
+ config: createProperty("days,hours,minutes", "milliseconds", 60000),
|
|
|
e: [
|
|
|
- { label: 'Days', value: 9},
|
|
|
- { label: 'Hours', value: 7},
|
|
|
- { label: 'Minutes', value: 33}
|
|
|
+ { label: 'Days', value: 9, incrementStep: 1, enabled: true},
|
|
|
+ { label: 'Hours', value: 7, incrementStep: 1, enabled: true},
|
|
|
+ { label: 'Minutes', value: 33, incrementStep: 1, enabled: true}
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
input: "70000",
|
|
|
- config: createProperty("minutes", "milliseconds"),
|
|
|
+ config: createProperty("minutes", "milliseconds", 1000),
|
|
|
e: [
|
|
|
- { label: 'Minutes', value: 1}
|
|
|
+ { label: 'Minutes', value: 1, incrementStep: 1, enabled: true}
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
input: "140",
|
|
|
- config: createProperty("hours,minutes", "minutes"),
|
|
|
+ config: createProperty("hours,minutes", "minutes", 1),
|
|
|
e: [
|
|
|
- { label: 'Hours', value: 2},
|
|
|
- { label: 'Minutes', value: 20}
|
|
|
+ { label: 'Hours', value: 2, incrementStep: 1, enabled: true},
|
|
|
+ { label: 'Minutes', value: 20, incrementStep: 1, enabled: true}
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
input: "2",
|
|
|
- config: createProperty("hours", "hours"),
|
|
|
+ config: createProperty("hours", "hours", 1),
|
|
|
e: [
|
|
|
- { label: 'Hours', value: 2}
|
|
|
+ { label: 'Hours', value: 2, incrementStep: 1, enabled: true}
|
|
|
]
|
|
|
}
|
|
|
];
|
|
|
|
|
|
- tests.forEach(function(test) {
|
|
|
- it('should convert {0} {1} to {2}'.format(test.input, test.config.get('stackConfigProperty.valueAttributes.unit'), JSON.stringify(test.e)), function() {
|
|
|
- this.view.set('config', test.config);
|
|
|
- var result = this.view.generateWidgetValue(test.input, test.inputType, test.desiredUnits).map(function(item) {
|
|
|
- // remove unneccessary keys
|
|
|
- return App.permit(item, ['label', 'value']);
|
|
|
+ tests.forEach(function (test) {
|
|
|
+ it('should convert {0} {1} to {2}'.format(test.input, test.config.get('stackConfigProperty.valueAttributes.unit'), JSON.stringify(test.e)), function () {
|
|
|
+ view.set('config', test.config);
|
|
|
+ var result = view.generateWidgetValue(test.input, test.inputType, test.desiredUnits).map(function (item) {
|
|
|
+ // remove unnecessary keys
|
|
|
+ return App.permit(item, ['label', 'value', 'enabled', 'incrementStep']);
|
|
|
});
|
|
|
expect(result).to.eql(test.e);
|
|
|
});
|
|
|
});
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ describe('#parseIncrement', function () {
|
|
|
+
|
|
|
+ var createProperty = function (widgetUnits, configPropertyUnits, incrementStep, value) {
|
|
|
+ return Em.Object.create({
|
|
|
+ value: value,
|
|
|
+ stackConfigProperty: Em.Object.create({
|
|
|
+ widget: {
|
|
|
+ units: [
|
|
|
+ { unit: widgetUnits }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ valueAttributes: {
|
|
|
+ unit: configPropertyUnits,
|
|
|
+ minimum: 1,
|
|
|
+ maximum: 2,
|
|
|
+ increment_step: incrementStep
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ Em.A([
|
|
|
+ {
|
|
|
+ input: "120000",
|
|
|
+ config: createProperty("minutes,seconds", "milliseconds", 10000, "120000"),
|
|
|
+ e: [
|
|
|
+ { label: 'Minutes', value: 2, incrementStep: 1, enabled: true},
|
|
|
+ { label: 'Seconds', value: 0, incrementStep: 10, enabled: true}
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ input: "120000",
|
|
|
+ config: createProperty("minutes,seconds", "milliseconds", 60000, "120000"),
|
|
|
+ e: [
|
|
|
+ { label: 'Minutes', value: 2, incrementStep: 1, enabled: true},
|
|
|
+ { label: 'Seconds', value: 0, incrementStep: 60, enabled: false}
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ]).forEach(function (test) {
|
|
|
+ it('should convert {0} {1} to {2}'.format(test.input, test.config.get('stackConfigProperty.valueAttributes.unit'), JSON.stringify(test.e)), function () {
|
|
|
+ view.set('config', test.config);
|
|
|
+ view.prepareContent();
|
|
|
+ var result = view.get('content').map(function (c) {
|
|
|
+ return App.permit(c, ['label', 'value', 'incrementStep', 'enabled']);
|
|
|
+ });
|
|
|
+ expect(result).to.eql(test.e);
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
});
|
|
|
-});
|
|
|
+
|
|
|
+});
|