Skip to content
This repository was archived by the owner on Jun 11, 2025. It is now read-only.

Commit b3831ec

Browse files
authored
Merge pull request #51 from Alfresco/dev-eromano-testRendition
add rendition test
2 parents 5f9b831 + c578947 commit b3831ec

File tree

5 files changed

+152
-3
lines changed

5 files changed

+152
-3
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
'use strict';
2+
3+
var nock = require('nock');
4+
var BaseMock = require('../baseMock');
5+
6+
class RenditionMock extends BaseMock {
7+
8+
constructor(host) {
9+
super(host);
10+
}
11+
12+
get200RenditionResponse() {
13+
nock(this.host, {'encodedQueryParams': true})
14+
.get('/alfresco/api/-default-/public/alfresco/versions/1/nodes/97a29e9c-1e4f-4d9d-bb02-1ec920dda045/renditions/pdf')
15+
.reply(200, {
16+
'entry': {
17+
'id': 'pdf',
18+
'content': {'mimeType': 'application/pdf', 'mimeTypeName': 'Adobe PDF Document'},
19+
'status': 'NOT_CREATED'
20+
}
21+
});
22+
}
23+
24+
createRendition200() {
25+
nock(this.host, {'encodedQueryParams': true})
26+
.post('/alfresco/api/-default-/public/alfresco/versions/1/nodes/97a29e9c-1e4f-4d9d-bb02-1ec920dda045/renditions', {'id': 'pdf'})
27+
.reply(202, '');
28+
}
29+
30+
get200RenditionList() {
31+
nock(this.host, {'encodedQueryParams': true})
32+
.get('/alfresco/api/-default-/public/alfresco/versions/1/nodes/97a29e9c-1e4f-4d9d-bb02-1ec920dda045/renditions')
33+
.reply(200, {
34+
'list': {
35+
'pagination': {
36+
'count': 6,
37+
'hasMoreItems': false,
38+
'totalItems': 6,
39+
'skipCount': 0,
40+
'maxItems': 100
41+
},
42+
'entries': [{
43+
'entry': {
44+
'id': 'avatar',
45+
'content': {'mimeType': 'image/png', 'mimeTypeName': 'PNG Image'},
46+
'status': 'NOT_CREATED'
47+
}
48+
}, {
49+
'entry': {
50+
'id': 'avatar32',
51+
'content': {'mimeType': 'image/png', 'mimeTypeName': 'PNG Image'},
52+
'status': 'NOT_CREATED'
53+
}
54+
}, {
55+
'entry': {
56+
'id': 'doclib',
57+
'content': {'mimeType': 'image/png', 'mimeTypeName': 'PNG Image'},
58+
'status': 'NOT_CREATED'
59+
}
60+
}, {
61+
'entry': {
62+
'id': 'imgpreview',
63+
'content': {'mimeType': 'image/jpeg', 'mimeTypeName': 'JPEG Image'},
64+
'status': 'NOT_CREATED'
65+
}
66+
}, {
67+
'entry': {
68+
'id': 'medium',
69+
'content': {'mimeType': 'image/jpeg', 'mimeTypeName': 'JPEG Image'},
70+
'status': 'NOT_CREATED'
71+
}
72+
}, {
73+
'entry': {
74+
'id': 'pdf',
75+
'content': {'mimeType': 'application/pdf', 'mimeTypeName': 'Adobe PDF Document'},
76+
'status': 'NOT_CREATED'
77+
}
78+
}]
79+
}
80+
});
81+
}
82+
}
83+
module.exports = RenditionMock;

test/mockObjects/mockAlfrescoApi.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ mockAlfrescoApi.Node = require('./alfresco/nodeMock.js');
66
mockAlfrescoApi.Upload = require('./alfresco/uploadMock.js');
77
mockAlfrescoApi.WebScript = require('./alfresco/webScriptMock.js');
88
mockAlfrescoApi.Tag = require('./alfresco/tagMock.js');
9+
mockAlfrescoApi.Rendition = require('./alfresco/renditionMock.js');
910

1011
//Bpm Mock
1112
mockAlfrescoApi.ActivitiMock = {};
@@ -15,4 +16,5 @@ mockAlfrescoApi.ActivitiMock.Tasks = require('./activiti/tasksMock.js');
1516
mockAlfrescoApi.ActivitiMock.Models = require('./activiti/modelsMock.js');
1617
mockAlfrescoApi.ActivitiMock.UserFilters = require('./activiti/userFiltersMock.js');
1718

19+
1820
module.exports = mockAlfrescoApi;

test/renditionApi.spec.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/*global describe, it, beforeEach */
2+
3+
var AlfrescoApi = require('../main');
4+
var AuthResponseMock = require('../test/mockObjects/mockAlfrescoApi').Auth;
5+
var RenditionMock = require('../test/mockObjects/mockAlfrescoApi').Rendition;
6+
var expect = require('chai').expect;
7+
8+
describe('Rendition', function () {
9+
10+
beforeEach(function (done) {
11+
this.hostEcm = 'http://127.0.0.1:8080';
12+
13+
this.authResponseMock = new AuthResponseMock(this.hostEcm);
14+
this.renditionMock = new RenditionMock();
15+
16+
this.authResponseMock.get201Response();
17+
this.alfrescoJsApi = new AlfrescoApi({
18+
hostEcm: this.hostEcm
19+
});
20+
21+
this.alfrescoJsApi.login('admin', 'admin').then(() => {
22+
done();
23+
});
24+
});
25+
26+
it('Get Rendition', function (done) {
27+
this.renditionMock.get200RenditionResponse();
28+
29+
this.alfrescoJsApi.core.renditionsApi.getRendition('97a29e9c-1e4f-4d9d-bb02-1ec920dda045', 'pdf').then(function (data) {
30+
expect(data.entry.id).to.be.equal('pdf');
31+
done();
32+
}, function () {
33+
});
34+
});
35+
36+
it('Create Rendition', function (done) {
37+
this.renditionMock.createRendition200();
38+
39+
this.alfrescoJsApi.core.renditionsApi.createRendition('97a29e9c-1e4f-4d9d-bb02-1ec920dda045', {id: 'pdf'}).then(function () {
40+
done();
41+
}, function () {
42+
});
43+
});
44+
45+
it('Get Renditions list for node id', function (done) {
46+
this.renditionMock.get200RenditionList();
47+
48+
this.alfrescoJsApi.core.renditionsApi.getRenditions('97a29e9c-1e4f-4d9d-bb02-1ec920dda045').then(function (data) {
49+
expect(data.list.pagination.count).to.be.equal(6);
50+
expect(data.list.entries[0].entry.id).to.be.equal('avatar');
51+
done();
52+
}, function () {
53+
});
54+
});
55+
});

test/tagApi.spec.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@ describe('Tags', function () {
3131
expect(data.list.entries[0].entry.tag).to.be.equal('tag-test-1');
3232
expect(data.list.entries[1].entry.tag).to.be.equal('tag-test-2');
3333
done();
34-
}, function (error) {
35-
console.error(error);
36-
done();
34+
}, function () {
3735
});
3836
});
3937

typescript/alfresco-js-api.d.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,16 @@ interface TagMock {
178178
clearAll();
179179
}
180180

181+
interface RenditionMock {
182+
new(host: string): RenditionMock;
183+
get200RenditionList();
184+
createRendition200();
185+
get200RenditionResponse();
186+
rec();
187+
play();
188+
clearAll();
189+
}
190+
181191
interface ModelsMock {
182192
new(host: string): ModelsMock;
183193
get200Response();
@@ -195,6 +205,7 @@ interface Mock {
195205
Tag: TagMock;
196206
Models: ModelsMock;
197207
UserFilters: UserFiltersMock;
208+
Rendition: RenditionMock;
198209
}
199210

200211
interface ActivitiMock {

0 commit comments

Comments
 (0)