如何编写用于检查2个密码是否匹配的指令的单元测试?

时间:2019-06-06 10:26:36

标签: angularjs unit-testing karma-jasmine

我正在使用AngularJS 1.5编写应用程序,并且我有一个要验证的表单。

该表单具有2个字段:密码和确认密码。

我想要这些验证条件:缺少密码,缺少确认密码,并且密码必须匹配。

我写了一个自定义指令来处理密码匹配的情况。

我想编写单元测试以检查各种输入,然后再进行质量检查。

如何为此编写测试?

/* confirmPassword.directive.js */

(function () {

    'use strict';

    angular
        .module('softworksSelfService')
        .directive('confirmPwd', confirmPasswordInput);

    function confirmPasswordInput() {

        var directive = {
            link: link,
            scope: {
                otherModelValue: '=confirmPwd'
            },
            require: 'ngModel'
        };

        return directive;

        function link(scope, elements, attributes, ngModel) {

            ngModel.$validators.match = function (modelValue) {
                return modelValue == scope.otherModelValue;
            };

            scope.$watch('otherModelValue', function () {
                ngModel.$validate();
            });

        }

    }

})();


            <input
                id="confirmPassword"
                type="password"
                name="confirmPassword"
                ng-model="data.confirmPassword"
                placeholder="confirm password"
                confirm-pwd="data.password"
                required>

0 个答案:

没有答案