Browse files

fix oembed onclick behavior + specs

  • Loading branch information...
1 parent 9534cae commit bf82fc17fe137563cdfe2a1d9e8d63244997e73c @Raven24 Raven24 committed Oct 3, 2012
Showing with 38 additions and 13 deletions.
  1. +1 −1 app/assets/javascripts/app/views/content_view.js
  2. +37 −12 spec/javascripts/app/views/oembed_view_spec.js
View
2 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 () {
View
49 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("");
- })
- })
-})
+ });
+ });
+});

0 comments on commit bf82fc1

Please sign in to comment.