#= require angular/payrollhero_api/ph_restangular.coffee

describe 'angular:payrollhero.api.service(MultipliersService)', ->
  subject = undefined
  httpBackend = undefined

  doNotExpectFailure = (error) ->
    console.error(error)
    throw "promise threw unexpected failure!"

  setupMultiplierResponse = ->
    httpBackend.expectGET('http://api.payrollhero.dev/api/v4/multipliers?token=t0ken')
    .respond(getJSONFixture('api/v4/multipliers_response.json'))

  beforeEach ->
    module 'payrollhero.api'
    angular.module('payrollhero.api').constant('PhToken',{token: 't0ken'})

  beforeEach inject (MultipliersService, $httpBackend) ->
    subject = MultipliersService
    httpBackend = $httpBackend
    return

  describe '#getList', ->
    beforeEach ->
      setupMultiplierResponse()
    it 'queries the server and gives me the multipliers', ->
      subject.getList().then (multipliers) ->
        expect(multipliers.length).toEqual(2)
      .catch(doNotExpectFailure)
      httpBackend.flush()
