Commit ba519042afe9eb7dc1b69303dbaa5746538b52ca
1 parent
d00c6e8c
Exists in
master
and in
10 other branches
Display button to export comments only to users with permission to edit article
Showing
2 changed files
with
11 additions
and
5 deletions
Show diff stats
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("Components", () => { |
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("Components", () => { |
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 | - | ... | ... |