diff --git a/app/assets/javascripts/app/pages/framer.js b/app/assets/javascripts/app/pages/framer.js index e75f3b1ac1c22e9026b952cef51be530031f0806..90828fe7170c870d9b9733a76acac641ba5dae4a 100644 --- a/app/assets/javascripts/app/pages/framer.js +++ b/app/assets/javascripts/app/pages/framer.js @@ -17,6 +17,7 @@ app.pages.Framer = app.views.Base.extend({ this.model.authorIsCurrentUser = function(){ return true } this.model.bind("change", this.render, this) + this.model.bind("sync", this.navigateToShow, this) this.templatePicker = new app.views.TemplatePicker({ model: this.model }) }, @@ -24,6 +25,10 @@ app.pages.Framer = app.views.Base.extend({ return app.views.Post.showFactory(this.model) }, + navigateToShow : function(){ + app.router.navigate(this.model.url(), {trigger: true, replace: true}) + }, + saveFrame : function(){ this.model.save() } diff --git a/spec/javascripts/app/pages/framer_spec.js b/spec/javascripts/app/pages/framer_spec.js index db9deb0de45d058eb59a1eaf8f463be53b394083..9b309fa7cdb02ae24de427b174cefb15832bd525 100644 --- a/spec/javascripts/app/pages/framer_spec.js +++ b/spec/javascripts/app/pages/framer_spec.js @@ -23,5 +23,14 @@ describe("app.pages.Framer", function(){ this.page.$("button.done").click(); expect(app.frame.save).toHaveBeenCalled(); }); + + it("navigates on save", function(){ + spyOn(app.router, "navigate") + this.page.model.set({id : 22}) + this.page.model.trigger("sync") + + console.log(app.router.navigate) + expect(app.router.navigate).toHaveBeenCalled() + }) }); });