diaspora/spec/javascripts/app/pages/stream_spec.js
Maxwell Salzberg 82218fd7cb new stream now remembers how far you have scrolled.
also, jasmine is really cool.
2012-05-23 17:25:40 -07:00

55 lines
No EOL
1.8 KiB
JavaScript

describe("app.Pages.Stream", function(){
beforeEach(function(){
app.setPreload("stream", [factory.post().attributes])
this.page = new app.pages.Stream()
this.post = this.page.model.items.models[0]
expect(this.post).toBeTruthy()
})
describe('postRenderTemplate', function(){
it("sets the background-image of #header", function(){
this.page.render()
expect(this.page.$('#header').css('background-image')).toBeTruthy()
})
it('calls setUpHashChangeOnStreamLoad', function(){
spyOn(this.page, 'setUpHashChangeOnStreamLoad')
this.page.render();
expect(this.page.setUpHashChangeOnStreamLoad).toHaveBeenCalled()
})
})
describe("rendering", function(){
beforeEach(function(){
this.page.render()
})
context("clicking the content", function(){
it("triggers frame interacted", function(){
spyOn(this.post.interactions, "fetch").andReturn(new $.Deferred)
this.page.$('.canvas-frame:first .content').click()
expect(this.post.interactions.fetch).toHaveBeenCalled()
})
})
})
describe("setUpHashChangeOnStreamLoad", function(){
it('calls navigateToPost on the loadMore event', function(){
spyOn(this.page, 'navigateToPost')
this.page.setUpHashChangeOnStreamLoad()
this.page.streamView.trigger('loadMore')
expect(this.page.navigateToPost).toHaveBeenCalled()
})
})
describe("navigateToPost", function(){
it("sets the max time of the url to the created at time of a post", function(){
spyOn(app.router, 'navigate')
this.page.navigateToPost(this.post)
var url = location.pathname + "?ex=true&max_time=" + this.post.createdAt()
var options = {replace: true}
expect(app.router.navigate).toHaveBeenCalledWith(url, options)
})
})
});