Commit 77280cd9436211e954ff7407a24f3bd3de3d3696
1 parent
64a50639
Fix the unit spec of CommentsComponent update comments
Showing
3 changed files
with
17 additions
and
12 deletions
Show diff stats
src/app/article/comment/comments.component.spec.ts
@@ -54,8 +54,8 @@ describe("Components", () => { | @@ -54,8 +54,8 @@ describe("Components", () => { | ||
54 | properties.parent = { id: 3 }; | 54 | properties.parent = { id: 3 }; |
55 | createComponent().then(fixture => { | 55 | createComponent().then(fixture => { |
56 | let component = (<CommentsComponent>fixture.debugElement.componentViewChildren[0].componentInstance); | 56 | let component = (<CommentsComponent>fixture.debugElement.componentViewChildren[0].componentInstance); |
57 | - component.commentService.onSave.next.call(component, <noosfero.Comment>{ id: 1, reply_of: { id: 3 } }); | ||
58 | - console.log('Comments: ' + component.comments.length); | 57 | + component.commentAdded(<noosfero.Comment>{ id: 1, reply_of: { id: 3 } }); |
58 | + | ||
59 | fixture.detectChanges(); | 59 | fixture.detectChanges(); |
60 | expect(fixture.debugElement.queryAll("noosfero-comment").length).toEqual(3); | 60 | expect(fixture.debugElement.queryAll("noosfero-comment").length).toEqual(3); |
61 | done(); | 61 | done(); |
src/app/article/comment/comments.component.ts
@@ -31,20 +31,16 @@ export class CommentsComponent { | @@ -31,20 +31,16 @@ export class CommentsComponent { | ||
31 | } | 31 | } |
32 | 32 | ||
33 | this.commentService.onSave.subscribe((comment: noosfero.Comment) => { | 33 | this.commentService.onSave.subscribe((comment: noosfero.Comment) => { |
34 | - this.comments.push(comment); | ||
35 | - this.resetShowReply(); | 34 | + this.commentAdded(comment); |
36 | }); | 35 | }); |
37 | } | 36 | } |
38 | 37 | ||
39 | - private resetShowReply() { | ||
40 | - this.comments.forEach((comment: noosfero.CommentViewModel) => { | ||
41 | - comment.__show_reply = false; | ||
42 | - }); | ||
43 | - if (this.parent) { | ||
44 | - this.parent.__show_reply = false; | ||
45 | - } | 38 | + commentAdded(comment: noosfero.Comment): void { |
39 | + this.comments.push(comment); | ||
40 | + this.resetShowReply(); | ||
46 | } | 41 | } |
47 | 42 | ||
43 | + | ||
48 | loadComments() { | 44 | loadComments() { |
49 | return this.commentService.getByArticle(this.article, { page: this.page, per_page: this.perPage }); | 45 | return this.commentService.getByArticle(this.article, { page: this.page, per_page: this.perPage }); |
50 | } | 46 | } |
@@ -61,4 +57,13 @@ export class CommentsComponent { | @@ -61,4 +57,13 @@ export class CommentsComponent { | ||
61 | let pages = Math.ceil(this.total / this.perPage); | 57 | let pages = Math.ceil(this.total / this.perPage); |
62 | return !this.parent && pages >= this.page; | 58 | return !this.parent && pages >= this.page; |
63 | } | 59 | } |
60 | + | ||
61 | + private resetShowReply() { | ||
62 | + this.comments.forEach((comment: noosfero.CommentViewModel) => { | ||
63 | + comment.__show_reply = false; | ||
64 | + }); | ||
65 | + if (this.parent) { | ||
66 | + this.parent.__show_reply = false; | ||
67 | + } | ||
68 | + } | ||
64 | } | 69 | } |
src/spec/mocks.ts
@@ -131,7 +131,7 @@ export var mocks: any = { | @@ -131,7 +131,7 @@ export var mocks: any = { | ||
131 | mocks.commentService['onSave'].event = fn; | 131 | mocks.commentService['onSave'].event = fn; |
132 | }, | 132 | }, |
133 | next: (param: any) => { | 133 | next: (param: any) => { |
134 | - mocks.commentService['onSave'].event.call(this, param); | 134 | + mocks.commentService['onSave'].event(param); |
135 | } | 135 | } |
136 | } | 136 | } |
137 | }, | 137 | }, |