Added form to smart table
diff --git a/views/ngXosLib/xosHelpers/spec/ui/smart-table.test.js b/views/ngXosLib/xosHelpers/spec/ui/smart-table.test.js
index e8cc030..bcc34e1 100644
--- a/views/ngXosLib/xosHelpers/spec/ui/smart-table.test.js
+++ b/views/ngXosLib/xosHelpers/spec/ui/smart-table.test.js
@@ -30,6 +30,9 @@
             this.query = jasmine.createSpy('query').and.callFake(() => {
               return {$promise: {then: (cb) => cb(mockData)}};
             });
+            this.delete = jasmine.createSpy('delete').and.callFake(() => {
+              return {$promise: {then: (cb) => cb({})}};
+            });
           });
 
           $provide.service('EmptyResource', function(){
@@ -62,9 +65,40 @@
       });
 
       it('should hide hidden fields', () => {
-        expect($(element).find('thead th').length).toEqual(2);
+        // the 4th field is the mocked save method
+        expect($(element).find('thead th').length).toEqual(3);
         expect($(element).find('thead th')[0]).toContainText('First name:');
         expect($(element).find('thead th')[1]).toContainText('Last name:');
+        expect($(element).find('thead th')[2]).toContainText('Actions:');
+      });
+
+      it('should delete a model', () => {
+        $(element).find('a[title="delete"]')[0].click();
+        expect(spy.delete).toHaveBeenCalledWith({id: mockData[0].id});
+        expect($(element).find('.alert')).toContainText(`MockResource with id ${mockData[0].id} successfully deleted`);
+      });
+
+      it('should show the form', () => {
+        expect($(element).find('.panel')[0]).toHaveClass('ng-hide');
+        $(element).find('a[title="details"]')[0].click();
+        expect($(element).find('.panel')).not.toHaveClass('ng-hide');
+      });
+
+      it('should save an item', () => {
+        const saveMethod = jasmine.createSpy('$save').and.callFake(() => {
+          return {then: (cb) => cb(mockData[0])};
+        });
+        let model = {
+          id: 1,
+          first_name: 'Jon',
+          last_name: 'Snow',
+          hidden_field: 'hidden',
+          $save: saveMethod
+        };
+        isolatedScope.detailedItem = model;
+        scope.$apply();
+        $(element).find('xos-form .btn.btn-success').click();
+        expect(saveMethod).toHaveBeenCalled();
       });
 
       describe('when fetching an empty collection', () => {