Commit 660909615460c30c08435d83310ce85cb82f09ee
1 parent
e8918c10
Exists in
master
and in
30 other branches
Refactor comment received event
Showing
3 changed files
with
8 additions
and
4 deletions
Show diff stats
src/app/article/comment/comments.component.spec.ts
... | ... | @@ -2,6 +2,7 @@ import {Provider, provide, Component} from 'ng-forward'; |
2 | 2 | import * as helpers from "../../../spec/helpers"; |
3 | 3 | |
4 | 4 | import {CommentsComponent} from './comments.component'; |
5 | +import {PostCommentComponent} from "./post-comment.component"; | |
5 | 6 | |
6 | 7 | const htmlTemplate: string = '<noosfero-comments [article]="ctrl.article"></noosfero-comments>'; |
7 | 8 | |
... | ... | @@ -42,8 +43,9 @@ describe("Components", () => { |
42 | 43 | |
43 | 44 | it("update comments list when receive an event", done => { |
44 | 45 | helpers.createComponentFromClass(ContainerComponent).then(fixture => { |
45 | - fixture.debugElement.getLocal("$rootScope").$emit("comment.received", {}); | |
46 | - expect(fixture.debugElement.queryAll("noosfero-post-comment").length).toEqual(1); | |
46 | + fixture.debugElement.getLocal("$rootScope").$emit(PostCommentComponent.EVENT_COMMENT_RECEIVED, { id: 1 }); | |
47 | + fixture.debugElement.getLocal("$rootScope").$apply(); | |
48 | + expect(fixture.debugElement.queryAll("noosfero-comment").length).toEqual(3); | |
47 | 49 | done(); |
48 | 50 | }); |
49 | 51 | }); | ... | ... |
src/app/article/comment/comments.component.ts
... | ... | @@ -15,7 +15,7 @@ export class CommentsComponent { |
15 | 15 | @Input() article: noosfero.Article; |
16 | 16 | |
17 | 17 | constructor(private commentService: CommentService, private $rootScope: ng.IScope) { |
18 | - $rootScope.$on("comment.received", (event: ng.IAngularEvent, comment: noosfero.Comment) => { | |
18 | + $rootScope.$on(PostCommentComponent.EVENT_COMMENT_RECEIVED, (event: ng.IAngularEvent, comment: noosfero.Comment) => { | |
19 | 19 | this.comments.push(comment); |
20 | 20 | }); |
21 | 21 | } | ... | ... |
src/app/article/comment/post-comment.component.ts
... | ... | @@ -9,6 +9,8 @@ import { NotificationService } from "../../shared/services/notification.service" |
9 | 9 | @Inject(CommentService, NotificationService, "$rootScope") |
10 | 10 | export class PostCommentComponent { |
11 | 11 | |
12 | + public static EVENT_COMMENT_RECEIVED = "comment.received"; | |
13 | + | |
12 | 14 | @Input() article: noosfero.Article; |
13 | 15 | comment: noosfero.Comment; |
14 | 16 | |
... | ... | @@ -21,7 +23,7 @@ export class PostCommentComponent { |
21 | 23 | this.comment.reply_of_id = this.replyOf.id; |
22 | 24 | } |
23 | 25 | this.commentService.createInArticle(this.article, this.comment).then((result: noosfero.RestResult<noosfero.Comment>) => { |
24 | - this.$rootScope.$emit("comment.received", result.data); | |
26 | + this.$rootScope.$emit(PostCommentComponent.EVENT_COMMENT_RECEIVED, result.data); | |
25 | 27 | this.notificationService.success({ title: "Good job!", message: "Comment saved!" }); |
26 | 28 | }); |
27 | 29 | } | ... | ... |