Commit ba519042afe9eb7dc1b69303dbaa5746538b52ca

Authored by Victor Costa
1 parent d00c6e8c

Display button to export comments only to users with permission to edit article

src/plugins/comment_paragraph/hotspot/export-comment-button.component.spec.ts
... ... @@ -3,15 +3,16 @@ import {ComponentTestHelper, createClass} from '../../../spec/component-test-hel
3 3 import * as helpers from "../../../spec/helpers";
4 4 import {Provider} from 'ng-forward';
5 5 import {ComponentFixture} from 'ng-forward/cjs/testing/test-component-builder';
  6 +import {PermissionDirective} from '../../../app/shared/components/permission/permission.directive';
6 7  
7 8 let htmlTemplate = '<export-comment-button-hotspot [article]="ctrl.article"></export-comment-button-hotspot>';
8 9  
9 10 describe("Components", () => {
10 11 describe("Export Comment Button Hotspot Component", () => {
11 12  
12   - let serviceMock = jasmine.createSpyObj("CommentParagraphService", [ "getArticle" ]);
  13 + let serviceMock = jasmine.createSpyObj("CommentParagraphService", ["getArticle"]);
13 14  
14   - let providers = [ new Provider('CommentParagraphService', { useValue: serviceMock }) ]
  15 + let providers = [new Provider('CommentParagraphService', { useValue: serviceMock })]
15 16 .concat(helpers.provideFilters('translateFilter'));
16 17 let helper: ComponentTestHelper<ExportCommentButtonHotspotComponent>;
17 18  
... ... @@ -20,7 +21,7 @@ describe(&quot;Components&quot;, () =&gt; {
20 21 beforeEach((done) => {
21 22 let cls = createClass({
22 23 template: htmlTemplate,
23   - directives: [ExportCommentButtonHotspotComponent],
  24 + directives: [ExportCommentButtonHotspotComponent, PermissionDirective],
24 25 providers: providers,
25 26 properties: {
26 27 article: {}
... ... @@ -48,5 +49,10 @@ describe(&quot;Components&quot;, () =&gt; {
48 49 expect(helper.all('.export-comment-button').length).toEqual(0);
49 50 });
50 51  
  52 + it('not display export comment button when user does not have permission', () => {
  53 + helper.component.article = <noosfero.Article>{ setting: { comment_paragraph_plugin_activate: true } };
  54 + helper.detectChanges();
  55 + expect(helper.find('.export-comment-button').attr('style')).toEqual("display: none; ");
  56 + });
51 57 });
52 58 });
... ...
src/plugins/comment_paragraph/hotspot/export-comment-button.html
1 1 <a href='{{ctrl.exportCommentPath}}' target="_self"
2   - class="btn btn-default btn-xs export-comment-button" ng-if="ctrl.isActivated()">
  2 + class="btn btn-default btn-xs export-comment-button" ng-if="ctrl.isActivated()"
  3 + permission="ctrl.article.permissions" permission-action="allow_edit">
3 4 <i class="fa fa-fw fa-download"></i> {{"comment-paragraph-plugin.export" | translate}}
4 5 </a>
5   -
... ...