diff --git a/app/assets/javascripts/app/views/content_view.js b/app/assets/javascripts/app/views/content_view.js index 9017f0508ac358549948584f927129308a407932..f8dc393884914d8c3a08163ad16ba17ab114e6cb 100644 --- a/app/assets/javascripts/app/views/content_view.js +++ b/app/assets/javascripts/app/views/content_view.js @@ -78,7 +78,7 @@ app.views.ActivityStreams__Photo = app.views.Content.extend({ app.views.OEmbed = app.views.Base.extend({ templateName : "oembed", events : { - "click .oembed .thumb": "showOembedContent" + "click .thumb": "showOembedContent" }, presenter:function () { diff --git a/spec/javascripts/app/views/oembed_view_spec.js b/spec/javascripts/app/views/oembed_view_spec.js index 047433fce5e9ef9561845e867e05311c0681a2aa..6b635910b902aba00fd211afd22fad15b7621891 100644 --- a/spec/javascripts/app/views/oembed_view_spec.js +++ b/spec/javascripts/app/views/oembed_view_spec.js @@ -3,29 +3,54 @@ describe("app.views.OEmbed", function(){ this.statusMessage = factory.statusMessage({ "o_embed_cache":{ "data":{ - "html":"some html" + "html":"some html", + "thumbnail_url": "//example.com/thumb.jpg" } } - }) + }); this.view = new app.views.OEmbed({model : this.statusMessage}) - }) + }); describe("rendering", function(){ - it("provides oembed html from the model response", function(){ - this.view.render() - expect(this.view.$el.html()).toContain("some html") - }) - }) + context("with thumb", function() { + it("shows the thumb with overlay", function(){ + this.view.render(); + + expect(this.view.$el.html()).toContain("example.com/thumb"); + expect(this.view.$el.html()).toContain("video-overlay"); + }); + + it("shows the oembed html when clicking the thumb", function() { + this.view.render(); + this.view.$('.thumb').click(); + + _.defer(function() { + expect(this.view.$el.html()).toContain("some html"); + }); + }); + }); + + context("no thumb", function() { + beforeEach(function(){ + this.statusMessage.set({"o_embed_cache" : {"data": {"html": "some html"}}}); + }); + + it("provides oembed html from the model response", function(){ + this.view.render() + expect(this.view.$el.html()).toContain("some html") + }); + }); + }); describe("presenter", function(){ it("provides oembed html from the model", function(){ expect(this.view.presenter().o_embed_html).toContain("some html") - }) + }); it("does not provide oembed html from the model response if none is present", function(){ this.statusMessage.set({"o_embed_cache" : null}) expect(this.view.presenter().o_embed_html).toBe(""); - }) - }) -}) \ No newline at end of file + }); + }); +}); \ No newline at end of file