Saving data from form
Change-Id: If78c7b7a8396a574edbc2cab3fd4150010f103b6
diff --git a/src/app/datasources/helpers/store.helpers.spec.ts b/src/app/datasources/helpers/store.helpers.spec.ts
index f0168b6..1793a7c 100644
--- a/src/app/datasources/helpers/store.helpers.spec.ts
+++ b/src/app/datasources/helpers/store.helpers.spec.ts
@@ -6,6 +6,7 @@
import {BehaviorSubject} from 'rxjs';
import {IWSEvent} from '../websocket/global';
import {ConfigHelpers} from '../../core/services/helpers/config.helpers';
+import {AuthService} from '../rest/auth.rest';
let service: IStoreHelpersService;
let subject: BehaviorSubject<any>;
@@ -16,10 +17,11 @@
beforeEach(() => {
angular
- .module('test', ['ngResource', 'toastr'])
+ .module('test', ['ngResource', 'toastr', 'ngCookies'])
.service('ConfigHelpers', ConfigHelpers) // NOTE evaluate mock
.service('ModelRest', ModelRest) // NOTE evaluate mock
- .service('StoreHelpers', StoreHelpers);
+ .service('StoreHelpers', StoreHelpers)
+ .service('AuthService', AuthService);
angular.mock.module('test');
});
diff --git a/src/app/datasources/rest/model.rest.ts b/src/app/datasources/rest/model.rest.ts
index 51e41d3..8bd2c1f 100644
--- a/src/app/datasources/rest/model.rest.ts
+++ b/src/app/datasources/rest/model.rest.ts
@@ -6,7 +6,6 @@
export class ModelRest implements IXosResourceService {
static $inject = ['$resource'];
- private resource: angular.resource.IResourceClass<any>;
/** @ngInject */
constructor(
@@ -16,6 +15,18 @@
}
public getResource(url: string): ng.resource.IResourceClass<ng.resource.IResource<any>> {
- return this.resource = this.$resource(`${AppConfig.apiEndpoint}${url}/:id/`, {id: '@id'});
+ const resource: angular.resource.IResourceClass<any> = this.$resource(`${AppConfig.apiEndpoint}${url}/:id/`, {id: '@id'}, {
+ update: { method: 'PUT' }
+ });
+
+ resource.prototype.$save = function() {
+ if (this.id) {
+ return this.$update();
+ } else {
+ return resource.save(this).$promise;
+ }
+ };
+
+ return resource;
}
}
diff --git a/src/app/datasources/stores/model.store.spec.ts b/src/app/datasources/stores/model.store.spec.ts
index dd19c27..5bdc498 100644
--- a/src/app/datasources/stores/model.store.spec.ts
+++ b/src/app/datasources/stores/model.store.spec.ts
@@ -8,6 +8,7 @@
import {ModelRest} from '../rest/model.rest';
import {AppConfig} from '../../config/app.config';
import {ConfigHelpers} from '../../core/services/helpers/config.helpers';
+import {AuthService} from '../rest/auth.rest';
let service: IModelStoreService;
let httpBackend: ng.IHttpBackendService;
@@ -37,12 +38,13 @@
beforeEach(() => {
angular
- .module('ModelStore', ['ngResource', 'toastr'])
+ .module('ModelStore', ['ngResource', 'toastr', 'ngCookies'])
.service('WebSocket', MockWs)
.service('StoreHelpers', StoreHelpers) // TODO mock
.service('ModelRest', ModelRest) // TODO mock
.service('ModelStore', ModelStore)
- .service('ConfigHelpers', ConfigHelpers); // TODO mock
+ .service('ConfigHelpers', ConfigHelpers) // TODO mock
+ .service('AuthService', AuthService);
angular.mock.module('ModelStore');
});