angular-cn/modules/angular2/test/forms/model_spec.js

64 lines
1.9 KiB
JavaScript
Raw Normal View History

import {ddescribe, describe, it, iit, xit, expect, beforeEach, afterEach, el} from 'angular2/test_lib';
import {ControlGroup, Control} from 'angular2/forms';
import * as validations from 'angular2/forms';
export function main() {
describe("Control", () => {
describe("validator", () => {
it("should run validator with the initial value", () => {
var c = new Control("value", validations.required);
expect(c.valid).toEqual(true);
});
it("should rerun the validator when the value changes", () => {
var c = new Control("value", validations.required);
c.updateValue(null);
expect(c.valid).toEqual(false);
});
it("should return errors", () => {
var c = new Control(null, validations.required);
expect(c.errors).toEqual({"required" : true});
});
});
});
describe("ControlGroup", () => {
describe("value", () => {
it("should be the reduced value of the child controls", () => {
var g = new ControlGroup({
"one": new Control("111"),
"two": new Control("222")
});
expect(g.value).toEqual({"one": "111", "two": "222"})
});
it("should be empty when there are no child controls", () => {
var g = new ControlGroup({});
expect(g.value).toEqual({})
});
});
describe("validator", () => {
it("should run the validator with the initial value", () => {
var g = new ControlGroup({
"one": new Control(null, validations.required)
});
expect(g.valid).toEqual(false);
expect(g.errors).toEqual({"one": {"required" : true}});
});
it("should run the validator with the value changes", () => {
var c = new Control(null, validations.required);
var g = new ControlGroup({"one": c});
c.updateValue("some value");
expect(g.valid).toEqual(true);
expect(g.errors).toEqual(null);
});
});
});
}