From d334097ee2fa74c44f9124eff2ff83dd9af81adc Mon Sep 17 00:00:00 2001 From: Dan Hansen Date: Thu, 24 May 2012 19:08:43 -0700 Subject: [PATCH] bugmash #3 persist unsaved comment value after expanding comments --- .../javascripts/app/views/comment_stream_view.js | 8 ++++++-- .../app/views/comment_stream_view_spec.js | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/app/views/comment_stream_view.js b/app/assets/javascripts/app/views/comment_stream_view.js index fbdda24d5..b5fd41572 100644 --- a/app/assets/javascripts/app/views/comment_stream_view.js +++ b/app/assets/javascripts/app/views/comment_stream_view.js @@ -61,16 +61,20 @@ app.views.CommentStream = app.views.Base.extend({ expandComments: function(evt){ if(evt){ evt.preventDefault(); } - var self = this; + var localCommentValue = this.$("textarea").val(), + self = this; + this.model.comments.fetch({ success : function(resp){ self.model.set({ comments : resp.models, all_comments_loaded : true }) + self.model.trigger("commentsExpanded", self) + + self.$("textarea").val(localCommentValue).focus() } }); } - }); diff --git a/spec/javascripts/app/views/comment_stream_view_spec.js b/spec/javascripts/app/views/comment_stream_view_spec.js index f808a43df..465b32e23 100644 --- a/spec/javascripts/app/views/comment_stream_view_spec.js +++ b/spec/javascripts/app/views/comment_stream_view_spec.js @@ -38,4 +38,20 @@ describe("app.views.CommentStream", function(){ expect(comment.set).toHaveBeenCalled() }) }) + + describe("expandComments", function() { + it("refills the comment textbox on success", function() { + jasmine.Ajax.useMock(); + + this.view.render(); + + this.view.$("textarea").val("great post!"); + + this.view.expandComments(); + + mostRecentAjaxRequest().response({ comments : [] }); + + expect(this.view.$("textarea").val()).toEqual("great post!"); + }) + }) })