Added more case to xosValidation and tested
diff --git a/views/ngXosLib/xosHelpers/spec/ui/validaiton.test.js b/views/ngXosLib/xosHelpers/spec/ui/validaiton.test.js
deleted file mode 100644
index acb7505..0000000
--- a/views/ngXosLib/xosHelpers/spec/ui/validaiton.test.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * © OpenCORD
- *
- * Created by teone on 4/15/16.
- */
-
-(function () {
- 'use strict';
-
- describe('The xos.helper module', function(){
- describe('The xos-validation component', () => {
-
- let element, scope, isolatedScope;
-
- beforeEach(module('xos.helpers'));
-
- beforeEach(inject(($compile, $rootScope) => {
-
- scope = $rootScope.$new();
-
- scope.errors = {};
-
- element = angular.element(`<xos-validation errors="errors"></xos-validation>`);
- $compile(element)(scope);
- scope.$digest();
- isolatedScope = element.isolateScope().vm;
- }));
-
- it('should not show an alert', () => {
- expect($(element).find('xos-alert > .alert')[0]).toHaveClass('ng-hide');
- });
-
- it('should show an alert', () => {
- scope.errors.email = true;
- scope.$digest();
- expect($(element).find('xos-alert > .alert')[0]).not.toHaveClass('ng-hide');
- });
- });
- });
-})();
\ No newline at end of file
diff --git a/views/ngXosLib/xosHelpers/spec/ui/validation.test.js b/views/ngXosLib/xosHelpers/spec/ui/validation.test.js
new file mode 100644
index 0000000..eb92a05
--- /dev/null
+++ b/views/ngXosLib/xosHelpers/spec/ui/validation.test.js
@@ -0,0 +1,64 @@
+/**
+ * © OpenCORD
+ *
+ * Created by teone on 4/15/16.
+ */
+
+(function () {
+ 'use strict';
+
+ describe('The xos.helper module', function(){
+ describe('The xos-validation component', () => {
+
+ let element, scope, isolatedScope;
+
+ beforeEach(module('xos.helpers'));
+
+ beforeEach(inject(($compile, $rootScope) => {
+
+ scope = $rootScope.$new();
+
+ scope.errors = {};
+
+ element = angular.element(`<xos-validation errors="errors"></xos-validation>`);
+ $compile(element)(scope);
+ scope.$digest();
+ isolatedScope = element.isolateScope().vm;
+ }));
+
+ it('should not show an alert', () => {
+ expect($(element).find('xos-alert > .alert')[0]).toHaveClass('ng-hide');
+ });
+
+ let availableErrors = [
+ {
+ type: 'email',
+ message: 'This is not a valid email'
+ },
+ {
+ type: 'minlength',
+ message: 'Too short'
+ },
+ {
+ type: 'maxlength',
+ message: 'Too long'
+ },
+ {
+ type: 'custom',
+ message: 'Field invalid'
+ },
+ ];
+
+ // use a loop to generate similar test
+ availableErrors.forEach((e, i) => {
+ it(`should show an alert for ${e.type} errors`, () => {
+ scope.errors[e.type] = true;
+ scope.$digest();
+ let alert = $(element).find('xos-alert > .alert')[i];
+ expect(alert).not.toHaveClass('ng-hide');
+ expect(alert).toHaveText(e.message);
+ });
+ });
+ });
+ });
+})();
\ No newline at end of file