New subscriber view
diff --git a/views/ngXosLib/xosHelpers/spec/ui/form.test.js b/views/ngXosLib/xosHelpers/spec/ui/form.test.js
index 7673fc8..5f73f30 100644
--- a/views/ngXosLib/xosHelpers/spec/ui/form.test.js
+++ b/views/ngXosLib/xosHelpers/spec/ui/form.test.js
@@ -9,221 +9,6 @@
 
   describe('The xos.helper module', function(){
 
-    // TODO move in separate file
-    describe('The XosFormHelper service', () => {
-      let service;
-
-      let fields = [
-        'id',
-        'name',
-        'mail',
-        'active',
-        'created',
-        'custom'
-      ];
-
-      let modelField = {
-        id: {},
-        name: {},
-        mail: {},
-        active: {},
-        created: {},
-        custom: {}
-      };
-
-      let model = {
-        id: 1,
-        name: 'test',
-        mail: 'test@onlab.us',
-        active: true,
-        created: '2016-04-18T23:44:16.883181Z',
-        custom: 'MyCustomValue'
-      };
-
-      let customField = {
-        custom: {
-          label: 'Custom Label',
-          type: 'number',
-          validators: {}
-        }
-      };
-
-      let formObject = {
-        id: {
-          label: 'Id:',
-          type: 'number',
-          validators: {}
-        },
-        name: {
-          label: 'Name:',
-          type: 'string',
-          validators: {}
-        },
-        mail: {
-          label: 'Mail:',
-          type: 'email',
-          validators: {}
-        },
-        active: {
-          label: 'Active:',
-          type: 'boolean',
-          validators: {}
-        },
-        created: {
-          label: 'Created:',
-          type: 'date',
-          validators: {}
-        },
-        custom: {
-          label: 'Custom Label:',
-          type: 'number',
-          validators: {}
-        }
-      };
-
-      // load the application module
-      beforeEach(module('xos.helpers'));
-
-      // inject the cartService
-      beforeEach(inject(function (_XosFormHelpers_) {
-        // The injector unwraps the underscores (_) from around the parameter names when matching
-        service = _XosFormHelpers_;
-      }));
-
-      describe('the _isEmail method', () => {
-        it('should return true', () => {
-          expect(service._isEmail('test@onlab.us')).toEqual(true);
-        });
-        it('should return false', () => {
-          expect(service._isEmail('testonlab.us')).toEqual(false);
-          expect(service._isEmail('test@onlab')).toEqual(false);
-        });
-      });
-
-      describe('the _getFieldFormat method', () => {
-        it('should return string', () => {
-          expect(service._getFieldFormat('string')).toEqual('string');
-          expect(service._getFieldFormat(null)).toEqual('string');
-        });
-        it('should return mail', () => {
-          expect(service._getFieldFormat('test@onlab.us')).toEqual('email');
-        });
-        it('should return number', () => {
-          expect(service._getFieldFormat(1)).toEqual('number');
-          // this is skipped because not realistic and js Date sucks
-          // expect(service._getFieldFormat('1')).toEqual('number');
-        });
-        it('should return boolean', () => {
-          expect(service._getFieldFormat(false)).toEqual('boolean');
-          expect(service._getFieldFormat(true)).toEqual('boolean');
-        });
-
-        it('should return date', () => {
-          expect(service._getFieldFormat('2016-04-19T23:09:1092Z')).toEqual('string');
-          expect(service._getFieldFormat(new Date())).toEqual('date');
-          expect(service._getFieldFormat('2016-04-19T23:09:10.208092Z')).toEqual('date');
-        });
-
-        it('should return array', () => {
-          expect(service._getFieldFormat([])).toEqual('array');
-          expect(service._getFieldFormat(['a', 'b'])).toEqual('array');
-        });
-
-        it('should return object', () => {
-          expect(service._getFieldFormat({})).toEqual('object');
-          expect(service._getFieldFormat({foo: 'bar'})).toEqual('object');
-        });
-      });
-
-      it('should convert the fields array in an empty form object', () => {
-        expect(service.parseModelField(fields)).toEqual(modelField);
-      });
-
-      describe('when modelField are provided', () => {
-        it('should combine modelField and customField in a form object', () => {
-          expect(service.buildFormStructure(modelField, customField, model)).toEqual(formObject);
-        });
-      });
-
-      describe('when model field is an empty array', () => {
-        let empty_modelField = {
-          // 5: {}
-        };
-        let empty_customFields = {
-          id: {
-            label: 'Id',
-            type: 'number'
-          },
-          name: {
-            label: 'Name',
-            type: 'string'
-          },
-          mail: {
-            label: 'Mail',
-            type: 'email'
-          },
-          active: {
-            label: 'Active',
-            type: 'boolean'
-          },
-          created: {
-            label: 'Created',
-            type: 'date'
-          },
-          custom: {
-            label: 'Custom Label',
-            type: 'number'
-          }
-        };
-
-        let empty_formObject = {
-          id: {
-            label: 'Id:',
-            type: 'number',
-            validators: {}
-          },
-          name: {
-            label: 'Name:',
-            type: 'string',
-            validators: {}
-          },
-          mail: {
-            label: 'Mail:',
-            type: 'email',
-            validators: {}
-          },
-          active: {
-            label: 'Active:',
-            type: 'boolean',
-            validators: {}
-          },
-          created: {
-            label: 'Created:',
-            type: 'date',
-            validators: {}
-          },
-          custom: {
-            label: 'Custom Label:',
-            type: 'number',
-            validators: {}
-          }
-        };
-
-        let empty_model = {5: 'Nan'}
-
-        it('should create a form object', () => {
-          let res = service.buildFormStructure(empty_modelField, empty_customFields, empty_model)
-          expect(res.id).toEqual(empty_formObject.id);
-          expect(res.name).toEqual(empty_formObject.name);
-          expect(res.mail).toEqual(empty_formObject.mail);
-          expect(res.active).toEqual(empty_formObject.active);
-          expect(res.created).toEqual(empty_formObject.created);
-          expect(res.custom).toEqual(empty_formObject.custom);
-          expect(res).toEqual(empty_formObject);
-        });
-      });
-    });
-
     describe('The xos-form component', () => {
 
       let element, scope, isolatedScope;
@@ -304,7 +89,7 @@
           expect(isolatedScope.excludedField).toEqual(expected);
         });
 
-        xit('should render 8 input field', () => {
+        it('should render 10 input field', () => {
           // boolean are in the form model, but are not input
           expect(Object.keys(isolatedScope.formField).length).toEqual(9);
           var field = element[0].getElementsByTagName('input');
@@ -312,7 +97,6 @@
         });
 
         it('should render 1 boolean field', () => {
-          // console.log($(element).find('.boolean-field'));
           expect($(element).find('.boolean-field > button').length).toEqual(2)
         });
 
@@ -410,10 +194,6 @@
             expect(isolatedScope.testForm.age.$error.min).toBeTruthy();
           });
         });
-
-        describe('the object field', () => {
-          
-        });
       });
     });
   });