Skip to content

Instantly share code, notes, and snippets.

@willscripted
Created October 11, 2013 17:57
Show Gist options
  • Save willscripted/6939221 to your computer and use it in GitHub Desktop.
Save willscripted/6939221 to your computer and use it in GitHub Desktop.
define [
"pages/placements/detail/segment_form"
"squire"
"marrow"
"dashboard"
"handlebars"
], (SegmentForm, Squire, Marrow, Dashboard, Handlebars) ->
perms = { canSetTestOffer: -> throw "stub" }
injector = new Squire()
injector.mock('pages/placements/permissions', Squire.Helpers.constructs(perms))
injector.mock('pages/placements/detail/segment_form.tmpl', -> "some-template")
injector.mock('marrow', Marrow)
injector.mock('dashboard', Dashboard)
injector.mock('handlebars', Handlebars)
describe "SegmentForm", ->
it "exists", ->
expect(SegmentForm).toBeDefined()
describe "#templateContext", ->
describe "['canSetTestOffer']", ->
async = new AsyncSpec(this)
async.it "is true when allowed", injector.run ['base/public/scripts/pages/placements/detail/segment_form'], (SegmentForm) ->
form = new SegmentForm({model: new Marrow.Model})
stub = sinon.stub(perms, "canSetTestOffer")
stub.returns(true)
expect(form.templateContext()['canSetTestOffer']).toBe(true)
stub.restore()
async.it "is false when not allowed", injector.run ['base/public/scripts/pages/placements/detail/segment_form'], (SegmentForm) ->
form = new SegmentForm({model: new Marrow.Model})
stub = sinon.stub(perms, "canSetTestOffer")
stub.returns(false)
expect(form.templateContext()['canSetTestOffer']).toBe(false)
stub.restore()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment