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', () => {
