diff --git a/src/app/core/services/helpers/config.helpers.spec.ts b/src/app/core/services/helpers/config.helpers.spec.ts
index af424e4..2431ccb 100644
--- a/src/app/core/services/helpers/config.helpers.spec.ts
+++ b/src/app/core/services/helpers/config.helpers.spec.ts
@@ -4,8 +4,37 @@
 
 import {IXosConfigHelpersService} from './config.helpers';
 import {xosCore} from '../../index';
+import {IModeldef} from '../../../datasources/rest/modeldefs.rest';
+import {IXosTableCfg} from '../../table/table';
 
 let service: IXosConfigHelpersService;
+
+const model: IModeldef = {
+  name: 'Test',
+  fields: [
+    {
+      type: 'number',
+      name: 'id',
+      validators: {}
+    },
+    {
+      type: 'string',
+      name: 'name',
+      validators: {}
+    },
+    {
+      type: 'string',
+      name: 'something',
+      validators: {}
+    },
+    {
+      type: 'date',
+      name: 'updated',
+      validators: {}
+    },
+  ]
+};
+
 describe('The ConfigHelpers service', () => {
 
   beforeEach(angular.mock.module(xosCore));
@@ -60,4 +89,32 @@
     });
   });
 
+  describe('the modelFieldsToColumnsCfg method', () => {
+    it('should return an array of columns', () => {
+      const cols = service.modelFieldsToColumnsCfg(model.fields, 'testUrl/:id?');
+      expect(cols[0].label).toBe('Id');
+      expect(cols[0].prop).toBe('id');
+      expect(cols[0].link).toBeDefined();
+
+      expect(cols[1].label).toBe('Name');
+      expect(cols[1].prop).toBe('name');
+      expect(cols[1].link).toBeDefined();
+
+      expect(cols[2].label).toBe('Something');
+      expect(cols[2].prop).toBe('something');
+      expect(cols[2].link).not.toBeDefined();
+
+      expect(cols[3]).not.toBeDefined();
+    });
+  });
+
+  describe('the modelToTableCfg method', () => {
+    it('should return a table config', () => {
+      const cfg: IXosTableCfg = service.modelToTableCfg(model, 'testUrl/:id?');
+      expect(cfg.columns).toBeDefined();
+      expect(cfg.filter).toBe('fulltext');
+      expect(cfg.order).toEqual({field: 'id', reverse: false});
+      expect(cfg.actions.length).toBe(1);
+    });
+  });
 });
