mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
improve code coverage
This commit is contained in:
@@ -43,7 +43,7 @@ describe('AlfrescoSearchComponent', () => {
|
||||
entry: {
|
||||
id: '123',
|
||||
name: 'MyDoc',
|
||||
isFile : true,
|
||||
isFile: true,
|
||||
content: {
|
||||
mimetype: 'text/plain'
|
||||
},
|
||||
@@ -128,8 +128,8 @@ describe('AlfrescoSearchComponent', () => {
|
||||
|
||||
component.resultsEmitter.subscribe(x => {
|
||||
alfrescoSearchComponentFixture.detectChanges();
|
||||
expect( element.querySelector('#result_user_0').innerHTML).toBe('John Doe');
|
||||
expect( element.querySelector('#result_name_0').innerHTML).toBe('MyDoc');
|
||||
expect(element.querySelector('#result_user_0').innerHTML).toBe('John Doe');
|
||||
expect(element.querySelector('#result_name_0').innerHTML).toBe('MyDoc');
|
||||
done();
|
||||
});
|
||||
|
||||
@@ -144,7 +144,7 @@ describe('AlfrescoSearchComponent', () => {
|
||||
it('should display no result if no result are returned', (done) => {
|
||||
component.resultsEmitter.subscribe(x => {
|
||||
alfrescoSearchComponentFixture.detectChanges();
|
||||
expect( element.querySelector('#search_no_result')).not.toBe(null);
|
||||
expect(element.querySelector('#search_no_result')).not.toBe(null);
|
||||
done();
|
||||
});
|
||||
|
||||
|
@@ -50,10 +50,6 @@ import { TAGCOMPONENT, TAGSERVICES } from 'ng2-alfresco-tag';
|
||||
Tag list By Node ID
|
||||
<alfresco-tag-node-list [nodeId]="nodeId"></alfresco-tag-node-list>
|
||||
</div>
|
||||
<div class="mdl-cell mdl-cell--4-col">
|
||||
Tag list By Node Properties
|
||||
<alfresco-tag-node-list [properties]="propertiesDemo"></alfresco-tag-node-list>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`,
|
||||
@@ -62,10 +58,8 @@ import { TAGCOMPONENT, TAGSERVICES } from 'ng2-alfresco-tag';
|
||||
})
|
||||
class TagDemo implements OnInit {
|
||||
|
||||
propertiesDemo: string = '{"cm:taggable": ["008e722c-bf2a-4426-832c-29d1a9b174a8", "0350ff75-badb-40e5-b7de-1091a855dd70"]}';
|
||||
|
||||
@Input()
|
||||
nodeId: string = '1a0b110f-1e09-4ca2-b367-fe25e4964a4e';
|
||||
nodeId: string = '74cd8a96-8a21-47e5-9b3b-a1b3e296787d';
|
||||
|
||||
currentPath: string = '/';
|
||||
|
||||
|
@@ -1,39 +1,36 @@
|
||||
<!--isContextMenu-->
|
||||
<div *ngIf="isContextMenu">
|
||||
<li class="mdl-menu__item" *ngFor="let currentEntry of tagsEntries">
|
||||
<span class="mdl-list__item-primary-content">
|
||||
<li class="mdl-menu__item" *ngFor="let currentEntry of tagsEntries; let idx = index">
|
||||
<span id="tag_name_{{idx}}" class="mdl-list__item-primary-content">
|
||||
{{currentEntry.entry.tag}}
|
||||
</span>
|
||||
<span class="mdl-list__item-secondary-action">
|
||||
<i class="material-icons" (click)="removeTag(currentEntry.entry.id)">delete</i>
|
||||
</span>
|
||||
<div id="tag_delete_{{idx}}" class="mdl-list__item-secondary-action" (click)="removeTag(currentEntry.entry.id)">
|
||||
<i class="material-icons">delete</i>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="mdl-textfield mdl-js-textfield tag-container-input">
|
||||
<input class="mdl-textfield__input tag-input" type="tag" id="new-tag-text" [(ngModel)]="newTagName"/>
|
||||
</div>
|
||||
<button class="mdl-button mdl-js-button mdl-button--raised button" (click)="addTag()">
|
||||
<button id="add-tag" class="mdl-button mdl-js-button mdl-button--raised button" (click)="addTag()">
|
||||
Add tag
|
||||
</button>
|
||||
</li>
|
||||
</div>
|
||||
|
||||
<!--not ContextMenu-->
|
||||
|
||||
<ul *ngIf="!isContextMenu" class="mdl-menu--bottom-right">
|
||||
<li class="mdl-menu__item" *ngFor="let currentEntry of tagsEntries">
|
||||
<span class="mdl-list__item-primary-content">
|
||||
{{currentEntry.entry.tag}}
|
||||
</span>
|
||||
<span class="mdl-list__item-secondary-action">
|
||||
<i class="material-icons" (click)="removeTag(currentEntry.entry.id)">delete</i>
|
||||
</span>
|
||||
<ul *ngIf="!isContextMenu" class="tag-list-control mdl-list">
|
||||
<li class="mdl-list__item tag-element" *ngFor="let currentEntry of tagsEntries; let idx = index">
|
||||
<span id="tag_name_{{idx}}" class="mdl-list__item-primary-content">{{currentEntry.entry.tag}}</span>
|
||||
<div id="tag_delete_{{idx}}" class="mdl-list__item-secondary-action" (click)="removeTag(currentEntry.entry.id)">
|
||||
<i class="material-icons">delete</i>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="mdl-textfield mdl-js-textfield tag-container-input">
|
||||
<input class="mdl-textfield__input tag-input" type="tag" id="new-tag-text" [(ngModel)]="newTagName"/>
|
||||
</div>
|
||||
<button class="mdl-button mdl-js-button mdl-button--raised button" (click)="addTag()">
|
||||
<button id="add-tag" class="mdl-button mdl-js-button mdl-button--raised button" (click)="addTag()">
|
||||
Add tag
|
||||
</button>
|
||||
</li>
|
||||
|
@@ -16,18 +16,36 @@
|
||||
*/
|
||||
|
||||
|
||||
import { describe, inject, beforeEachProviders, beforeEach, afterEach } from '@angular/core/testing';
|
||||
import { it, describe, inject, beforeEachProviders, beforeEach, afterEach } from '@angular/core/testing';
|
||||
import { TestComponentBuilder } from '@angular/compiler/testing';
|
||||
import { AlfrescoAuthenticationService, AlfrescoSettingsService } from 'ng2-alfresco-core';
|
||||
import { TagService } from '../services/tag.service';
|
||||
import { TagActionsComponent } from './tag-actions.component';
|
||||
|
||||
declare let jasmine: any;
|
||||
|
||||
describe('Tag actions', () => {
|
||||
describe('Tag actions list', () => {
|
||||
|
||||
let service;
|
||||
let tagActionsListFixture, element, component;
|
||||
|
||||
let dataTag = {
|
||||
'list': {
|
||||
'pagination': {
|
||||
'count': 3,
|
||||
'hasMoreItems': false,
|
||||
'totalItems': 3,
|
||||
'skipCount': 0,
|
||||
'maxItems': 100
|
||||
},
|
||||
'entries': [{
|
||||
'entry': {'tag': 'test1', 'id': '0ee933fa-57fc-4587-8a77-b787e814f1d2'}
|
||||
}, {'entry': {'tag': 'test2', 'id': 'fcb92659-1f10-41b4-9b17-851b72a3b597'}}, {
|
||||
'entry': {'tag': 'test3', 'id': 'fb4213c0-729d-466c-9a6c-ee2e937273bf'}
|
||||
}]
|
||||
}
|
||||
};
|
||||
|
||||
beforeEachProviders(() => {
|
||||
|
||||
return [
|
||||
AlfrescoSettingsService,
|
||||
AlfrescoAuthenticationService,
|
||||
@@ -35,11 +53,17 @@ describe('Tag actions', () => {
|
||||
];
|
||||
});
|
||||
|
||||
beforeEach(inject([TagService], (tagService: TagService) => {
|
||||
service = tagService;
|
||||
beforeEach(inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
|
||||
return tcb
|
||||
.createAsync(TagActionsComponent)
|
||||
.then(fixture => {
|
||||
tagActionsListFixture = fixture;
|
||||
element = tagActionsListFixture.nativeElement;
|
||||
component = tagActionsListFixture.componentInstance;
|
||||
});
|
||||
}));
|
||||
|
||||
describe('Content tests', () => {
|
||||
describe('Rendering tests', () => {
|
||||
|
||||
beforeEach(() => {
|
||||
jasmine.Ajax.install();
|
||||
@@ -49,5 +73,70 @@ describe('Tag actions', () => {
|
||||
jasmine.Ajax.uninstall();
|
||||
});
|
||||
|
||||
it('Tag list relative a single node should be rendered', (done) => {
|
||||
component.nodeId = 'fake-node-id';
|
||||
|
||||
component.resultsEmitter.subscribe(() => {
|
||||
tagActionsListFixture.detectChanges();
|
||||
|
||||
expect(element.querySelector('#tag_name_0').innerHTML).toBe('test1');
|
||||
expect(element.querySelector('#tag_name_1').innerHTML).toBe('test2');
|
||||
expect(element.querySelector('#tag_name_2').innerHTML).toBe('test3');
|
||||
|
||||
expect(element.querySelector('#tag_delete_0')).not.toBe(null);
|
||||
expect(element.querySelector('#tag_delete_1')).not.toBe(null);
|
||||
expect(element.querySelector('#tag_delete_2')).not.toBe(null);
|
||||
|
||||
done();
|
||||
});
|
||||
|
||||
component.ngOnChanges();
|
||||
|
||||
jasmine.Ajax.requests.mostRecent().respondWith({
|
||||
status: 200,
|
||||
contentType: 'json',
|
||||
responseText: dataTag
|
||||
});
|
||||
});
|
||||
|
||||
it('Tag list click on delete button should delete the tag', (done) => {
|
||||
component.nodeId = 'fake-node-id';
|
||||
|
||||
component.resultsEmitter.subscribe(() => {
|
||||
tagActionsListFixture.detectChanges();
|
||||
element.querySelector('#tag_delete_0').click();
|
||||
tagActionsListFixture.detectChanges();
|
||||
|
||||
expect(jasmine.Ajax.requests.at(1).url).
|
||||
toBe('http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/nodes/fake-node-id/tags/0ee933fa-57fc-4587-8a77-b787e814f1d2');
|
||||
expect(jasmine.Ajax.requests.at(1).method).toBe('DELETE');
|
||||
done();
|
||||
});
|
||||
|
||||
component.ngOnChanges();
|
||||
|
||||
jasmine.Ajax.requests.mostRecent().respondWith({
|
||||
status: 200,
|
||||
contentType: 'json',
|
||||
responseText: dataTag
|
||||
});
|
||||
});
|
||||
|
||||
it('Add tag', (done) => {
|
||||
component.nodeId = 'fake-node-id';
|
||||
component.newTagName = 'fake-tag-name';
|
||||
|
||||
tagActionsListFixture.detectChanges();
|
||||
|
||||
component.addEmitter.subscribe(() => {
|
||||
done();
|
||||
});
|
||||
|
||||
element.querySelector('#add-tag').click();
|
||||
|
||||
jasmine.Ajax.requests.mostRecent().respondWith({
|
||||
status: 200
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -15,9 +15,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {Component, Input, Output, EventEmitter} from '@angular/core';
|
||||
import {AlfrescoAuthenticationService} from 'ng2-alfresco-core';
|
||||
import {TagService} from '../services/tag.service';
|
||||
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
||||
import { AlfrescoAuthenticationService } from 'ng2-alfresco-core';
|
||||
import { TagService } from '../services/tag.service';
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -42,7 +42,10 @@ export class TagActionsComponent {
|
||||
isContextMenu: boolean = false;
|
||||
|
||||
@Output()
|
||||
onSuccess: EventEmitter<any> = new EventEmitter();
|
||||
addEmitter: EventEmitter<any> = new EventEmitter();
|
||||
|
||||
@Output()
|
||||
resultsEmitter = new EventEmitter();
|
||||
|
||||
newTagName: string;
|
||||
|
||||
@@ -61,20 +64,21 @@ export class TagActionsComponent {
|
||||
}
|
||||
|
||||
refreshTag() {
|
||||
this.tagService.getTagsByNodeId(this.nodeId).then((data) => {
|
||||
this.tagsEntries = data;
|
||||
this.tagService.getTagsByNodeId(this.nodeId).subscribe((data) => {
|
||||
this.tagsEntries = data.list.entries;
|
||||
this.resultsEmitter.emit(this.tagsEntries);
|
||||
});
|
||||
}
|
||||
|
||||
addTag() {
|
||||
this.tagService.addTag(this.nodeId, this.newTagName).then((res) => {
|
||||
this.tagService.addTag(this.nodeId, this.newTagName).subscribe((res) => {
|
||||
this.refreshTag();
|
||||
this.onSuccess.emit(res.entry.id);
|
||||
this.addEmitter.emit(this.nodeId);
|
||||
});
|
||||
}
|
||||
|
||||
removeTag(tag: string) {
|
||||
this.tagService.removeTag(this.nodeId, tag).then(() => {
|
||||
this.tagService.removeTag(this.nodeId, tag).subscribe(() => {
|
||||
this.refreshTag();
|
||||
});
|
||||
}
|
||||
|
@@ -1,10 +1,8 @@
|
||||
<div class="tag-container">
|
||||
<div id="table-cards-container">
|
||||
<ul class="tag-list-control mdl-list">
|
||||
<li class="mdl-list__item tag-element" *ngFor="let currentEntry of tagsEntries">
|
||||
<span class="mdl-list__item-primary-content">
|
||||
{{currentEntry.entry.tag}}
|
||||
</span>
|
||||
<li class="mdl-list__item tag-element" *ngFor="let currentEntry of tagsEntries; let idx = index">
|
||||
<span id="tag_name_{{idx}}" class="mdl-list__item-primary-content">{{currentEntry.entry.tag}}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@@ -16,18 +16,35 @@
|
||||
*/
|
||||
|
||||
|
||||
import { describe, inject, beforeEachProviders, beforeEach, afterEach } from '@angular/core/testing';
|
||||
import { it, describe, inject, beforeEachProviders, beforeEach, afterEach } from '@angular/core/testing';
|
||||
import { TestComponentBuilder } from '@angular/compiler/testing';
|
||||
import { AlfrescoAuthenticationService, AlfrescoSettingsService } from 'ng2-alfresco-core';
|
||||
import { TagService } from '../services/tag.service';
|
||||
import { TagList } from './tag-list.component';
|
||||
|
||||
declare let jasmine: any;
|
||||
|
||||
describe('Tag list', () => {
|
||||
describe('Tag list All ECM', () => {
|
||||
|
||||
let service;
|
||||
let tagListFixture, element, component;
|
||||
|
||||
let dataTag = {
|
||||
'list': {
|
||||
'pagination': {
|
||||
'count': 3,
|
||||
'hasMoreItems': false,
|
||||
'totalItems': 3,
|
||||
'skipCount': 0,
|
||||
'maxItems': 100
|
||||
},
|
||||
'entries': [{
|
||||
'entry': {'tag': 'test1', 'id': '0ee933fa-57fc-4587-8a77-b787e814f1d2'}
|
||||
}, {'entry': {'tag': 'test2', 'id': 'fcb92659-1f10-41b4-9b17-851b72a3b597'}}, {
|
||||
'entry': {'tag': 'test3', 'id': 'fb4213c0-729d-466c-9a6c-ee2e937273bf'}}]
|
||||
}
|
||||
};
|
||||
|
||||
beforeEachProviders(() => {
|
||||
|
||||
return [
|
||||
AlfrescoSettingsService,
|
||||
AlfrescoAuthenticationService,
|
||||
@@ -35,11 +52,17 @@ describe('Tag list', () => {
|
||||
];
|
||||
});
|
||||
|
||||
beforeEach(inject([TagService], (tagService: TagService) => {
|
||||
service = tagService;
|
||||
beforeEach(inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
|
||||
return tcb
|
||||
.createAsync(TagList)
|
||||
.then(fixture => {
|
||||
tagListFixture = fixture;
|
||||
element = tagListFixture.nativeElement;
|
||||
component = tagListFixture.componentInstance;
|
||||
});
|
||||
}));
|
||||
|
||||
describe('Content tests', () => {
|
||||
describe('Rendering tests', () => {
|
||||
|
||||
beforeEach(() => {
|
||||
jasmine.Ajax.install();
|
||||
@@ -49,5 +72,26 @@ describe('Tag list', () => {
|
||||
jasmine.Ajax.uninstall();
|
||||
});
|
||||
|
||||
it('Tag list relative a single node should be rendered', (done) => {
|
||||
component.nodeId = 'fake-node-id';
|
||||
|
||||
component.resultsEmitter.subscribe(() => {
|
||||
tagListFixture.detectChanges();
|
||||
|
||||
expect(element.querySelector('#tag_name_0').innerHTML).toBe('test1');
|
||||
expect(element.querySelector('#tag_name_1').innerHTML).toBe('test2');
|
||||
expect(element.querySelector('#tag_name_2').innerHTML).toBe('test3');
|
||||
|
||||
done();
|
||||
});
|
||||
|
||||
component.ngOnInit();
|
||||
|
||||
jasmine.Ajax.requests.mostRecent().respondWith({
|
||||
status: 200,
|
||||
contentType: 'json',
|
||||
responseText: dataTag
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -15,9 +15,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {Component, Input} from '@angular/core';
|
||||
import { Component, Output, EventEmitter } from '@angular/core';
|
||||
import { AlfrescoAuthenticationService } from 'ng2-alfresco-core';
|
||||
import { TagService} from '../services/tag.service';
|
||||
import { TagService } from '../services/tag.service';
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -30,16 +30,14 @@ declare let __moduleName: string;
|
||||
@Component({
|
||||
moduleId: __moduleName,
|
||||
selector: 'alfresco-tag-list',
|
||||
templateUrl: './tag-list.component.html',
|
||||
styleUrls: ['./tag.component.css']
|
||||
|
||||
templateUrl: './tag-list.component.html'
|
||||
})
|
||||
export class TagList {
|
||||
|
||||
tagsEntries: any;
|
||||
|
||||
@Input()
|
||||
tagUlId: string = 'tg-id';
|
||||
@Output()
|
||||
resultsEmitter = new EventEmitter();
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
@@ -55,7 +53,8 @@ export class TagList {
|
||||
|
||||
refreshTagEcm() {
|
||||
this.tagService.getAllTheTags().subscribe((data) => {
|
||||
this.tagsEntries = data;
|
||||
this.tagsEntries = data.list.entries;
|
||||
this.resultsEmitter.emit(this.tagsEntries);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@@ -1,8 +1,8 @@
|
||||
<div class="tag-list-container">
|
||||
<ul class="tags">
|
||||
<li *ngFor="let currentEntry of tagsEntries">
|
||||
<a href="#" class="tag-name">{{currentEntry.entry.tag}}</a>
|
||||
<div class="tag-delete" (click)="removeTag(currentEntry.entry.id)" ><i class="material-icons delete-icon">close</i></div>
|
||||
<li *ngFor="let currentEntry of tagsEntries; let idx = index">
|
||||
<div id="tag_name_{{idx}}" class="tag-name">{{currentEntry.entry.tag}}</div>
|
||||
<div id="tag_delete_{{idx}}" class="tag-delete" (click)="removeTag(currentEntry.entry.id)" ><i class="material-icons delete-icon">close</i></div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@@ -16,18 +16,35 @@
|
||||
*/
|
||||
|
||||
|
||||
import { describe, inject, beforeEachProviders, beforeEach, afterEach } from '@angular/core/testing';
|
||||
import { it, describe, inject, beforeEachProviders, beforeEach, afterEach } from '@angular/core/testing';
|
||||
import { TestComponentBuilder } from '@angular/compiler/testing';
|
||||
import { AlfrescoAuthenticationService, AlfrescoSettingsService } from 'ng2-alfresco-core';
|
||||
import { TagService } from '../services/tag.service';
|
||||
import { TagNodeList } from './tag-node-list.component';
|
||||
|
||||
declare let jasmine: any;
|
||||
|
||||
describe('Tag relative node list', () => {
|
||||
|
||||
let service;
|
||||
let tagNodeListFixture, element, component;
|
||||
|
||||
let dataTag = {
|
||||
'list': {
|
||||
'pagination': {
|
||||
'count': 3,
|
||||
'hasMoreItems': false,
|
||||
'totalItems': 3,
|
||||
'skipCount': 0,
|
||||
'maxItems': 100
|
||||
},
|
||||
'entries': [{
|
||||
'entry': {'tag': 'test1', 'id': '0ee933fa-57fc-4587-8a77-b787e814f1d2'}
|
||||
}, {'entry': {'tag': 'test2', 'id': 'fcb92659-1f10-41b4-9b17-851b72a3b597'}}, {
|
||||
'entry': {'tag': 'test3', 'id': 'fb4213c0-729d-466c-9a6c-ee2e937273bf'}}]
|
||||
}
|
||||
};
|
||||
|
||||
beforeEachProviders(() => {
|
||||
|
||||
return [
|
||||
AlfrescoSettingsService,
|
||||
AlfrescoAuthenticationService,
|
||||
@@ -35,7 +52,17 @@ describe('Tag relative node list', () => {
|
||||
];
|
||||
});
|
||||
|
||||
describe('Content tests', () => {
|
||||
beforeEach(inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
|
||||
return tcb
|
||||
.createAsync(TagNodeList)
|
||||
.then(fixture => {
|
||||
tagNodeListFixture = fixture;
|
||||
element = tagNodeListFixture.nativeElement;
|
||||
component = tagNodeListFixture.componentInstance;
|
||||
});
|
||||
}));
|
||||
|
||||
describe('Rendering tests', () => {
|
||||
|
||||
beforeEach(() => {
|
||||
jasmine.Ajax.install();
|
||||
@@ -45,16 +72,52 @@ describe('Tag relative node list', () => {
|
||||
jasmine.Ajax.uninstall();
|
||||
});
|
||||
|
||||
it('getTagsByNodeId catch errors call', (done) => {
|
||||
service.getTagsByNodeId('fake-node-id', 'fake-tag').subscribe(() => {
|
||||
}, () => {
|
||||
it('Tag list relative a single node should be rendered', (done) => {
|
||||
component.nodeId = 'fake-node-id';
|
||||
|
||||
component.resultsEmitter.subscribe(() => {
|
||||
tagNodeListFixture.detectChanges();
|
||||
|
||||
expect(element.querySelector('#tag_name_0').innerHTML).toBe('test1');
|
||||
expect(element.querySelector('#tag_name_1').innerHTML).toBe('test2');
|
||||
expect(element.querySelector('#tag_name_2').innerHTML).toBe('test3');
|
||||
|
||||
expect(element.querySelector('#tag_delete_0')).not.toBe(null);
|
||||
expect(element.querySelector('#tag_delete_1')).not.toBe(null);
|
||||
expect(element.querySelector('#tag_delete_2')).not.toBe(null);
|
||||
|
||||
done();
|
||||
});
|
||||
|
||||
component.ngOnChanges();
|
||||
|
||||
jasmine.Ajax.requests.mostRecent().respondWith({
|
||||
status: 403
|
||||
status: 200,
|
||||
contentType: 'json',
|
||||
responseText: dataTag
|
||||
});
|
||||
});
|
||||
|
||||
it('Tag list click on delete button should delete the tag', (done) => {
|
||||
component.nodeId = 'fake-node-id';
|
||||
|
||||
component.resultsEmitter.subscribe(() => {
|
||||
tagNodeListFixture.detectChanges();
|
||||
element.querySelector('#tag_delete_0').click();
|
||||
|
||||
expect(jasmine.Ajax.requests.mostRecent().url).
|
||||
toBe('http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/nodes/fake-node-id/tags/0ee933fa-57fc-4587-8a77-b787e814f1d2');
|
||||
expect(jasmine.Ajax.requests.mostRecent().method).toBe('DELETE');
|
||||
done();
|
||||
});
|
||||
|
||||
component.ngOnChanges();
|
||||
|
||||
jasmine.Ajax.requests.mostRecent().respondWith({
|
||||
status: 200,
|
||||
contentType: 'json',
|
||||
responseText: dataTag
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Component, Input } from '@angular/core';
|
||||
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
||||
import { AlfrescoAuthenticationService } from 'ng2-alfresco-core';
|
||||
import { TagService } from '../services/tag.service';
|
||||
|
||||
@@ -40,6 +40,9 @@ export class TagNodeList {
|
||||
|
||||
tagsEntries: any;
|
||||
|
||||
@Output()
|
||||
resultsEmitter = new EventEmitter();
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param authService
|
||||
@@ -52,13 +55,14 @@ export class TagNodeList {
|
||||
}
|
||||
|
||||
refreshTag() {
|
||||
this.tagService.getTagsByNodeId(this.nodeId).then((data) => {
|
||||
this.tagsEntries = data;
|
||||
this.tagService.getTagsByNodeId(this.nodeId).subscribe((data) => {
|
||||
this.tagsEntries = data.list.entries;
|
||||
this.resultsEmitter.emit(this.tagsEntries);
|
||||
});
|
||||
}
|
||||
|
||||
removeTag(tag: string) {
|
||||
this.tagService.removeTag(this.nodeId, tag).then(() => {
|
||||
this.tagService.removeTag(this.nodeId, tag).subscribe(() => {
|
||||
this.refreshTag();
|
||||
});
|
||||
}
|
||||
|
@@ -18,8 +18,7 @@
|
||||
import { describe, expect, it, inject, beforeEachProviders, beforeEach, afterEach, xit } from '@angular/core/testing';
|
||||
import { TestComponentBuilder } from '@angular/compiler/testing';
|
||||
import { WebscriptComponent } from '../src/webscript.component';
|
||||
|
||||
import { AlfrescoAuthenticationService, AlfrescoSettingsService, AlfrescoApiService } from 'ng2-alfresco-core';
|
||||
import { AlfrescoAuthenticationService, AlfrescoSettingsService } from 'ng2-alfresco-core';
|
||||
|
||||
declare let jasmine: any;
|
||||
|
||||
|
Reference in New Issue
Block a user