sn-controls-aurelia
Version:
Aurelia controls for sensenet ECM
71 lines (60 loc) • 2.71 kB
text/typescript
import { expect } from 'chai';
import { suite, test } from 'mocha-typescript';
import { FieldControlBaseTest } from './fieldcontrol-base.tests';
import { FieldSettings } from 'sn-client-js';
import { DateOnly } from '../../src/fieldcontrols';
('DateField component')
export class DateFieldTests extends FieldControlBaseTest<DateOnly> {
constructor() {
super(DateOnly, 'date-only');
}
public async 'Can be constructed'() {
const viewModel = await this.createFieldViewModel();
expect(viewModel).to.be.instanceof(DateOnly);
}
public async 'Can not be modified if is read only'() {
const viewModel = await this.createFieldViewModel();
viewModel.settings = {
ReadOnly: true
} as FieldSettings.DateTimeFieldSetting;
const contentViewElement = document.querySelector('date-only input') as HTMLInputElement;
expect(contentViewElement.disabled).to.be.eq(true);
}
public async 'Required rule is added if complusory'() {
const viewModel = await this.createFieldViewModel();
viewModel.settings = {
Compulsory: true
} as FieldSettings.DateTimeFieldSetting;
viewModel.content = this.mockRepo.HandleLoadedContent({Id: 12387, Path: 'asd', Name: ''});
viewModel.actionName = 'new';
const rules = viewModel.rules;
expect(rules[0][0].messageKey).to.be.eq('required');
}
public async 'Setting Value should update super\'s Value'(){
const viewModel = await this.createFieldViewModel();
viewModel.settings = {
Compulsory: true,
DefaultValue: '1985-09-25T00:00:00Z'
} as FieldSettings.DateTimeFieldSetting;
viewModel.content = this.mockRepo.HandleLoadedContent({Id: 1387, Path: 'asd', Name: ''});
viewModel.dateValue = '2017-01-01T11:11:11Z';
viewModel.dateValueChanged(viewModel.dateValue);
expect(viewModel.value).to.be.eq('2017-01-01T00:00:00Z');
}
public async 'Setting Content Value should update component\'s value'(){
const viewModel = await this.createFieldViewModel();
viewModel.settings = {
Compulsory: true,
DefaultValue: '1985-09-25T00:00:00Z'
} as FieldSettings.DateTimeFieldSetting;
viewModel.content = this.mockRepo.HandleLoadedContent({Id: 1237, Path: 'asd', Name: ''});
viewModel.value = '2017-01-01T11:11:11Z';
viewModel.valueChanged(viewModel.value);
expect(viewModel.dateValue).to.be.eq('2017-01-01');
}
}