Commit a836b06d authored by danielgrippi's avatar danielgrippi

mixpanel on posting

parent a7ced3f7
......@@ -58,6 +58,14 @@ app.models.Post = Backbone.Model.extend(_.extend({}, app.models.formatDateMixin,
preloadOrFetch : function(){
var action = app.hasPreload("post") ? this.set(app.parsePreload("post")) : this.fetch()
return $.when(action)
},
hasPhotos : function(){
return this.get("photos") && this.get("photos").length > 0
},
hasText : function(){
return $.trim(this.get("text")) !== ""
}
}), {
headlineLimit : 118,
......
......@@ -129,6 +129,18 @@ app.views.framerControls = app.views.Base.extend({
}
this.$('input').prop('disabled', 'disabled')
this.model.save()
this.trackPost()
},
trackPost : function() {
var model = this.model
app.track("Posted", {
text : model.hasText(),
photos : model.hasPhotos(),
template : model.get("frame_name")
})
},
inValidFrame : function(){
......
......@@ -36,4 +36,28 @@ describe("app.models.Post", function() {
expect(this.post.createdAt()).toEqual(+date);
});
});
describe("hasPhotos", function(){
it('returns true if the model has more than one photo', function(){
this.post.set({photos : [1,2]})
expect(this.post.hasPhotos()).toBeTruthy()
})
it('returns false if the model does not have any photos', function(){
this.post.set({photos : []})
expect(this.post.hasPhotos()).toBeFalsy()
})
});
describe("hasText", function(){
it('returns true if the model has text', function(){
this.post.set({text : "hella"})
expect(this.post.hasText()).toBeTruthy()
})
it('returns false if the model does not have text', function(){
this.post.set({text : " "})
expect(this.post.hasText()).toBeFalsy()
})
});
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment