mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-26 17:24:56 +00:00
[ACS-7706] create tags return promise tag paging instead of tag entry (#10869)
* [ACS-7706] Corrected returned type for createTags function * [ACS-7706] Updated documentation for createTags and fixed unit tests
This commit is contained in:
parent
3fea334468
commit
2cc3ba4d6b
@ -23,10 +23,10 @@ Manages tags in Content Services.
|
|||||||
- _nodeId:_ `string` - Id of node to which tags should be assigned.
|
- _nodeId:_ `string` - Id of node to which tags should be assigned.
|
||||||
- _tags:_ `TagBody[]` - List of tags to create and assign or just assign if they already exist.
|
- _tags:_ `TagBody[]` - List of tags to create and assign or just assign if they already exist.
|
||||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TagPaging`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/TagPaging.md)`|`[`TagEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/TagEntry.md)`>` - Just linked tags to node or single tag if linked only one tag.
|
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TagPaging`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/TagPaging.md)`|`[`TagEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/TagEntry.md)`>` - Just linked tags to node or single tag if linked only one tag.
|
||||||
- **createTags**(tags: `TagBody[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TagEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/TagEntry.md)`[]>`<br/>
|
- **createTags**(tags: `TagBody[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TagEntry`](../../../lib/js-api/src/api/content-rest-api/docs/TagsApi.md#TagEntry) `|` [`TagPaging`](../../../lib/js-api/src/api/content-rest-api/docs/TagsApi.md#TagPaging)`>`<br/>
|
||||||
Creates tags.
|
Creates tags.
|
||||||
- _tags:_ `TagBody[]` - list of tags to create.
|
- _tags:_ `TagBody[]` - list of tags to create.
|
||||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TagEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/TagEntry.md)`[]>` - Created tags.
|
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TagEntry`](../../../lib/js-api/src/api/content-rest-api/docs/TagsApi.md#TagEntry) `|` [`TagPaging`](../../../lib/js-api/src/api/content-rest-api/docs/TagsApi.md#TagPaging)`>` - Created tags.
|
||||||
- **deleteTag**(tagId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<void>`<br/>
|
- **deleteTag**(tagId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<void>`<br/>
|
||||||
Deletes a tag with tagId. This will cause the tag to be removed from all nodes. You must have admin rights to delete a tag.
|
Deletes a tag with tagId. This will cause the tag to be removed from all nodes. You must have admin rights to delete a tag.
|
||||||
- _tagId:_ `string` - of the tag to be deleted
|
- _tagId:_ `string` - of the tag to be deleted
|
||||||
|
@ -89,7 +89,7 @@ describe('TagService', () => {
|
|||||||
|
|
||||||
describe('createTags', () => {
|
describe('createTags', () => {
|
||||||
it('should call createTags on tagsApi', () => {
|
it('should call createTags on tagsApi', () => {
|
||||||
spyOn(service.tagsApi, 'createTags').and.returnValue(Promise.resolve([]));
|
spyOn(service.tagsApi, 'createTags').and.returnValue(Promise.resolve({}));
|
||||||
const tag1 = new TagBody();
|
const tag1 = new TagBody();
|
||||||
tag1.tag = 'Some tag 1';
|
tag1.tag = 'Some tag 1';
|
||||||
const tag2 = new TagBody();
|
const tag2 = new TagBody();
|
||||||
@ -101,19 +101,17 @@ describe('TagService', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should emit refresh when tags creation is success', async () => {
|
it('should emit refresh when tags creation is success', async () => {
|
||||||
const tags: TagEntry[] = [
|
const tag: TagEntry = {
|
||||||
{
|
entry: {
|
||||||
entry: {
|
id: 'Some id 1',
|
||||||
id: 'Some id 1',
|
tag: 'Some tag 1'
|
||||||
tag: 'Some tag 1'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
];
|
};
|
||||||
spyOn(service.refresh, 'emit');
|
spyOn(service.refresh, 'emit');
|
||||||
spyOn(service.tagsApi, 'createTags').and.returnValue(Promise.resolve(tags));
|
spyOn(service.tagsApi, 'createTags').and.returnValue(Promise.resolve(tag));
|
||||||
|
|
||||||
await service.createTags([]).toPromise();
|
await service.createTags([]).toPromise();
|
||||||
expect(service.refresh.emit).toHaveBeenCalledWith(tags);
|
expect(service.refresh.emit).toHaveBeenCalledWith(tag);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ export class TagService {
|
|||||||
* @param tags list of tags to create.
|
* @param tags list of tags to create.
|
||||||
* @returns Created tags.
|
* @returns Created tags.
|
||||||
*/
|
*/
|
||||||
createTags(tags: TagBody[]): Observable<TagEntry[]> {
|
createTags(tags: TagBody[]): Observable<TagEntry | TagPaging> {
|
||||||
return from(this.tagsApi.createTags(tags)).pipe(tap((tagEntries) => this.refresh.emit(tagEntries)));
|
return from(this.tagsApi.createTags(tags)).pipe(tap((tagEntries) => this.refresh.emit(tagEntries)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -209,9 +209,9 @@ export class TagsApi extends BaseApi {
|
|||||||
/**
|
/**
|
||||||
* Create specified by **tags** list of tags.
|
* Create specified by **tags** list of tags.
|
||||||
* @param tags List of tags to create.
|
* @param tags List of tags to create.
|
||||||
* @returns Promise<TagEntry[]>
|
* @returns Promise<TagEntry | TagPaging>
|
||||||
*/
|
*/
|
||||||
createTags(tags: TagBody[]): Promise<TagEntry[]> {
|
createTags(tags: TagBody[]): Promise<TagEntry | TagPaging> {
|
||||||
throwIfNotDefined(tags, 'tags');
|
throwIfNotDefined(tags, 'tags');
|
||||||
|
|
||||||
return this.post({
|
return this.post({
|
||||||
|
@ -240,7 +240,7 @@ Create specified by **tags** list of tags.
|
|||||||
|----------|-----------------------|-------------------------|
|
|----------|-----------------------|-------------------------|
|
||||||
| **tags** | [TagBody[]](#TagBody) | List of tags to create. |
|
| **tags** | [TagBody[]](#TagBody) | List of tags to create. |
|
||||||
|
|
||||||
**Return type**: [TagEntry[]](#TagEntry)
|
**Return type**: [TagEntry](#TagEntry) | [TagPaging](#TagPaging)
|
||||||
|
|
||||||
**Example**
|
**Example**
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import assert from 'assert';
|
import assert from 'assert';
|
||||||
import { AlfrescoApi, TagBody, TagEntry, TagsApi } from '../../src';
|
import { AlfrescoApi, TagBody, TagEntry, TagPaging, TagsApi } from '../../src';
|
||||||
import { EcmAuthMock, TagMock } from '../mockObjects';
|
import { EcmAuthMock, TagMock } from '../mockObjects';
|
||||||
|
|
||||||
describe('Tags', () => {
|
describe('Tags', () => {
|
||||||
@ -105,10 +105,10 @@ describe('Tags', () => {
|
|||||||
describe('createTags', () => {
|
describe('createTags', () => {
|
||||||
it('should return created tags', (done) => {
|
it('should return created tags', (done) => {
|
||||||
tagMock.createTags201Response();
|
tagMock.createTags201Response();
|
||||||
tagsApi.createTags([new TagBody(), new TagBody()]).then((tags) => {
|
tagsApi.createTags([new TagBody(), new TagBody()]).then((tags: TagPaging) => {
|
||||||
assert.equal(tags.length, 2);
|
assert.equal(tags.list.entries.length, 2);
|
||||||
assert.equal(tags[0].entry.tag, 'tag-test-1');
|
assert.equal(tags.list.entries[0].entry.tag, 'tag-test-1');
|
||||||
assert.equal(tags[1].entry.tag, 'tag-test-2');
|
assert.equal(tags.list.entries[1].entry.tag, 'tag-test-2');
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -65,7 +65,7 @@ export class TagMock extends BaseMock {
|
|||||||
createTags201Response(): void {
|
createTags201Response(): void {
|
||||||
nock(this.host, { encodedQueryParams: true })
|
nock(this.host, { encodedQueryParams: true })
|
||||||
.post('/alfresco/api/-default-/public/alfresco/versions/1/tags')
|
.post('/alfresco/api/-default-/public/alfresco/versions/1/tags')
|
||||||
.reply(201, [this.mockTagEntry(), this.mockTagEntry('tag-test-2', 'd79bdbd0-9f55-45bb-9521-811e15bf48f6')]);
|
.reply(201, this.getPaginatedListOfTags());
|
||||||
}
|
}
|
||||||
|
|
||||||
get201ResponseForAssigningTagsToNode(body: TagBody[]): void {
|
get201ResponseForAssigningTagsToNode(body: TagBody[]): void {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user