diff --git a/db/dump/fixtures.sql b/db/dump/fixtures.sql
index 0d81f0a3d3..a437a4727e 100644
--- a/db/dump/fixtures.sql
+++ b/db/dump/fixtures.sql
@@ -1869,7 +1869,8 @@ INSERT INTO `vn`.`dms`(`id`, `dmsTypeFk`, `file`, `contentType`, `workerFk`, `wa
VALUES
(1, 14, '1.txt', 'text/plain', 5, 1, 442, NULL, FALSE, 'Ticket:11', 'Ticket:11 dms for the ticket', CURDATE()),
(2, 5, '2.txt', 'text/plain', 5, 1, 442, 1, TRUE, 'Client:104', 'Client:104 dms for the client', CURDATE()),
- (3, 5, '3.txt', 'text/plain', 5, 1, 442, NULL, TRUE, 'Client: 104', 'Client:104 readme', CURDATE());
+ (3, 5, '3.txt', 'text/plain', 5, 1, 442, NULL, TRUE, 'Client: 104', 'Client:104 readme', CURDATE()),
+ (4, 3, '3.txt', 'text/plain', 5, 1, 442, NULL, TRUE, 'Worker: 106', 'Worker:106 readme', CURDATE());
INSERT INTO `vn`.`ticketDms`(`ticketFk`, `dmsFk`)
VALUES
@@ -1880,10 +1881,9 @@ INSERT INTO `vn`.`clientDms`(`clientFk`, `dmsFk`)
(104, 2),
(104, 3);
-INSERT INTO `vn`.`workerDocument`(`worker`, `document`)
+INSERT INTO `vn`.`workerDocument`(`id`, `worker`, `document`)
VALUES
- (104, 2),
- (104, 3);
+ (1, 106, 4);
INSERT INTO `vn`.`device` (`sn`, `model`, `userFk`)
VALUES
diff --git a/modules/worker/back/methods/worker-dms/specs/removeFile.spec.js b/modules/worker/back/methods/worker-dms/specs/removeFile.spec.js
index f8fe36625d..7039d4f3e2 100644
--- a/modules/worker/back/methods/worker-dms/specs/removeFile.spec.js
+++ b/modules/worker/back/methods/worker-dms/specs/removeFile.spec.js
@@ -1,6 +1,6 @@
const app = require('vn-loopback/server/server');
-fdescribe('WorkerDms removeFile()', () => {
+describe('WorkerDms removeFile()', () => {
const workerDmsFk = 1;
it(`should return an error for a user without enough privileges`, async() => {
let clientId = 101;
diff --git a/modules/worker/back/methods/worker/specs/uploadFile.spec.js b/modules/worker/back/methods/worker/specs/uploadFile.spec.js
new file mode 100644
index 0000000000..26a50252d9
--- /dev/null
+++ b/modules/worker/back/methods/worker/specs/uploadFile.spec.js
@@ -0,0 +1,19 @@
+const app = require('vn-loopback/server/server');
+
+describe('Worker uploadFile()', () => {
+ it(`should return an error for a user without enough privileges`, async() => {
+ let workerId = 106;
+ let currentUserId = 102;
+ let hhrrDataId = 3;
+ let ctx = {req: {accessToken: {userId: currentUserId}}, args: {dmsTypeId: hhrrDataId}};
+
+ let error;
+ await app.models.Worker.uploadFile(ctx, workerId).catch(e => {
+ error = e;
+ }).finally(() => {
+ expect(error.message).toEqual(`You don't have enough privileges`);
+ });
+
+ expect(error).toBeDefined();
+ });
+});
diff --git a/modules/worker/back/models/worker-dms.json b/modules/worker/back/models/worker-dms.json
index f168388b0f..56cad65a64 100644
--- a/modules/worker/back/models/worker-dms.json
+++ b/modules/worker/back/models/worker-dms.json
@@ -12,9 +12,12 @@
}
},
"properties": {
+ "id": {
+ "type": "Number",
+ "id": true
+ },
"dmsFk": {
"type": "Number",
- "id": true,
"required": true,
"mysql": {
"columnName": "document"
diff --git a/modules/worker/front/dms/edit/index.spec.js b/modules/worker/front/dms/edit/index.spec.js
index 732a908681..b883d44728 100644
--- a/modules/worker/front/dms/edit/index.spec.js
+++ b/modules/worker/front/dms/edit/index.spec.js
@@ -1,45 +1,46 @@
import './index';
-describe('Client', () => {
+describe('Worker', () => {
describe('Component vnClientDmsEdit', () => {
let controller;
let $scope;
+ let $element;
let $httpBackend;
- let $state;
- beforeEach(ngModule('client'));
+ beforeEach(ngModule('worker'));
beforeEach(angular.mock.inject(($componentController, $rootScope, _$httpBackend_) => {
$scope = $rootScope.$new();
$httpBackend = _$httpBackend_;
- $state = {params: {dmsId: 1}};
- controller = $componentController('vnClientDmsEdit', {$scope, $state});
- controller._client = {id: 1};
+ $element = angular.element(` {
- it('should set the client data and then call setDefaultParams() and getAllowedContentTypes()', () => {
+ describe('worker() setter', () => {
+ it('should set the worker data and then call setDefaultParams() and getAllowedContentTypes()', () => {
spyOn(controller, 'setDefaultParams');
spyOn(controller, 'getAllowedContentTypes');
- controller._client = undefined;
- controller.client = {
- id: 15
+ controller._worker = undefined;
+ controller.worker = {
+ id: 106
};
expect(controller.setDefaultParams).toHaveBeenCalledWith();
- expect(controller.client).toBeDefined();
+ expect(controller.worker).toBeDefined();
expect(controller.getAllowedContentTypes).toHaveBeenCalledWith();
});
});
describe('setDefaultParams()', () => {
it('should perform a GET query and define the dms property on controller', () => {
- const dmsId = 1;
+ const dmsId = 4;
const expectedResponse = {
reference: 101,
warehouseFk: 1,
companyFk: 442,
- dmsTypeFk: 12,
+ dmsTypeFk: 3,
description: 'Test',
hasFile: false,
hasFileAttached: false
@@ -52,7 +53,7 @@ describe('Client', () => {
expect(controller.dms).toBeDefined();
expect(controller.dms.reference).toEqual(101);
- expect(controller.dms.dmsTypeId).toEqual(12);
+ expect(controller.dms.dmsTypeId).toEqual(3);
});
});
@@ -70,8 +71,8 @@ describe('Client', () => {
describe('getAllowedContentTypes()', () => {
it('should make an HTTP GET request to get the allowed content types', () => {
const expectedResponse = ['image/png', 'image/jpg'];
- $httpBackend.when('GET', `clientDms/allowedContentTypes`).respond(expectedResponse);
- $httpBackend.expect('GET', `clientDms/allowedContentTypes`);
+ $httpBackend.when('GET', `WorkerDms/allowedContentTypes`).respond(expectedResponse);
+ $httpBackend.expect('GET', `WorkerDms/allowedContentTypes`);
controller.getAllowedContentTypes();
$httpBackend.flush();
diff --git a/modules/worker/front/dms/index/index.spec.js b/modules/worker/front/dms/index/index.spec.js
index 16190177b1..6220d051cb 100644
--- a/modules/worker/front/dms/index/index.spec.js
+++ b/modules/worker/front/dms/index/index.spec.js
@@ -1,34 +1,36 @@
import './index';
import crudModel from 'core/mocks/crud-model';
-describe('Client', () => {
- describe('Component vnClientDmsIndex', () => {
+describe('Worker', () => {
+ describe('Component vnWorkerDmsIndex', () => {
let $componentController;
let $scope;
+ let $element;
let $httpBackend;
let controller;
- beforeEach(ngModule('client'));
+ beforeEach(ngModule('worker'));
beforeEach(angular.mock.inject((_$componentController_, $rootScope, _$httpBackend_) => {
$componentController = _$componentController_;
$httpBackend = _$httpBackend_;
$scope = $rootScope.$new();
- controller = $componentController('vnClientDmsIndex', {$: $scope});
+ $element = angular.element(` {
it('should make an HTTP Post query', () => {
- const dmsId = 1;
+ const dmsId = 4;
const dmsIndex = 0;
spyOn(controller.vnApp, 'showSuccess');
spyOn(controller.$.model, 'remove');
- controller.clientDms = [{dmsFk: 1}];
+ controller.workerDms = [{dmsFk: 4}];
controller.dmsIndex = dmsIndex;
- $httpBackend.when('POST', `clientDms/${dmsId}/removeFile`).respond({});
- $httpBackend.expect('POST', `clientDms/${dmsId}/removeFile`);
+ $httpBackend.when('POST', `WorkerDms/${dmsId}/removeFile`).respond({});
+ $httpBackend.expect('POST', `WorkerDms/${dmsId}/removeFile`);
controller.deleteDms('accept');
$httpBackend.flush();