80 lines
2.5 KiB
JavaScript
80 lines
2.5 KiB
JavaScript
|
import './index';
|
||
|
|
||
|
describe('Salix Component vnLog', () => {
|
||
|
let controller;
|
||
|
let $scope;
|
||
|
let $element;
|
||
|
let el;
|
||
|
|
||
|
beforeEach(ngModule('vnCore'));
|
||
|
|
||
|
beforeEach(inject(($componentController, $rootScope) => {
|
||
|
$scope = $rootScope.$new();
|
||
|
$element = angular.element('<json-value></json-value>');
|
||
|
controller = $componentController('vnJsonValue', {$element, $scope});
|
||
|
el = controller.element;
|
||
|
}));
|
||
|
|
||
|
describe('set value()', () => {
|
||
|
it('should display null symbol when value is null equivalent', () => {
|
||
|
controller.value = null;
|
||
|
|
||
|
expect(el.textContent).toEqual('∅');
|
||
|
expect(el.className).toContain('json-null');
|
||
|
});
|
||
|
|
||
|
it('should display ballot when value is false', () => {
|
||
|
controller.value = false;
|
||
|
|
||
|
expect(el.textContent).toEqual('✗');
|
||
|
expect(el.className).toContain('json-false');
|
||
|
});
|
||
|
|
||
|
it('should display check when value is true', () => {
|
||
|
controller.value = true;
|
||
|
|
||
|
expect(el.textContent).toEqual('✓');
|
||
|
expect(el.className).toContain('json-true');
|
||
|
});
|
||
|
|
||
|
it('should display string when value is an string', () => {
|
||
|
controller.value = 'Foo';
|
||
|
|
||
|
expect(el.textContent).toEqual('Foo');
|
||
|
expect(el.className).toContain('json-string');
|
||
|
});
|
||
|
|
||
|
it('should display only date when value is date with time set to zero', () => {
|
||
|
const date = Date.vnNew();
|
||
|
date.setHours(0, 0, 0, 0);
|
||
|
controller.value = date;
|
||
|
|
||
|
expect(el.textContent).toEqual('01/01/2001');
|
||
|
expect(el.className).toContain('json-object');
|
||
|
});
|
||
|
|
||
|
it('should display full date without time when value is date with time', () => {
|
||
|
const date = Date.vnNew();
|
||
|
date.setHours(15, 45);
|
||
|
controller.value = date;
|
||
|
|
||
|
expect(el.textContent).toEqual('01/01/2001 15:45:00');
|
||
|
expect(el.className).toContain('json-object');
|
||
|
});
|
||
|
|
||
|
it('should display object when value is an object', () => {
|
||
|
controller.value = {foo: 'bar'};
|
||
|
|
||
|
expect(el.textContent).toEqual('[object Object]');
|
||
|
expect(el.className).toContain('json-object');
|
||
|
});
|
||
|
|
||
|
it('should display number when value is a number', () => {
|
||
|
controller.value = 2050;
|
||
|
|
||
|
expect(el.textContent).toEqual('2050');
|
||
|
expect(el.className).toContain('json-number');
|
||
|
});
|
||
|
});
|
||
|
});
|