This repository has been archived on 2026-07-19. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
espocrm-base/frontend/test/spec/views/fields/test.int.js
T
Yuri Kuznetsov 99195313c5 add frontend
2014-04-11 11:44:02 +03:00

75 lines
1.4 KiB
JavaScript

describe("Views.Fields.Int", function () {
var model;
var field;
var templator = {
getTemplate: {}
};
beforeEach(function () {
model = new Espo.Model();
spyOn(templator, 'getTemplate').andReturn('');
model.defs = {
fields: {
count: {
required: true,
type: 'int',
min: 0,
max: 1,
}
}
};
var fieldManager = {
getParams: function () {},
getAttributes: function () {}
};
spyOn(fieldManager, 'getParams').andReturn([
'required',
]);
spyOn(fieldManager, 'getAttributes').andReturn([
[],
]);
field = new Espo['Views.Fields.Int']({
model: model,
defs: {
name: 'count',
},
templator: templator,
helper: {
language: {
translate: function () {}
},
fieldManager: fieldManager
},
});
});
it("should validate required", function () {
model.set('count', null);
expect(field.validateRequired()).toBe(true);
model.set('count', false);
expect(field.validateRequired()).toBe(true);
model.set('count', 0);
expect(field.validateRequired() || false).toBe(false);
});
it("should validate range", function () {
model.set('count', 0);
expect(field.validateRange() || false).toBe(false);
model.set('count', -1);
expect(field.validateRange()).toBe(true);
model.set('count', 2);
expect(field.validateRange()).toBe(true);
});
});