mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-27 21:06:49 +00:00
86 lines
3.3 KiB
CoffeeScript
86 lines
3.3 KiB
CoffeeScript
describe "EnterpriseRegistrationService", ->
|
|
EnterpriseRegistrationService = null
|
|
$httpBackend = null
|
|
availableCountries = []
|
|
enterpriseAttributes =
|
|
name: "Enterprise 1"
|
|
something: true
|
|
spreeApiKey = "keykeykeykey"
|
|
CurrentUser =
|
|
id: 2
|
|
email: 'lalala@email.com'
|
|
RegistrationServiceMock =
|
|
select: -> null
|
|
|
|
beforeEach ->
|
|
module('Darkswarm')
|
|
angular.module('Darkswarm').value 'availableCountries', availableCountries
|
|
angular.module('Darkswarm').value 'enterpriseAttributes', enterpriseAttributes
|
|
angular.module('Darkswarm').value 'spreeApiKey', spreeApiKey
|
|
angular.module('Darkswarm').value 'CurrentUser', CurrentUser
|
|
angular.module('Darkswarm').value 'RegistrationService', RegistrationServiceMock
|
|
|
|
inject ($injector, _$httpBackend_) ->
|
|
$httpBackend = _$httpBackend_
|
|
EnterpriseRegistrationService = $injector.get("EnterpriseRegistrationService")
|
|
|
|
it "adds the specified attributes to the ERS enterprise object", ->
|
|
expect(EnterpriseRegistrationService.enterprise.name).toBe "Enterprise 1"
|
|
expect(EnterpriseRegistrationService.enterprise.something).toBe true
|
|
|
|
describe "creating an enterprise", ->
|
|
describe "success", ->
|
|
beforeEach ->
|
|
spyOn(RegistrationServiceMock, "select")
|
|
$httpBackend.expectPOST("/api/enterprises?token=keykeykeykey").respond 200, 6
|
|
EnterpriseRegistrationService.create()
|
|
$httpBackend.flush()
|
|
|
|
it "stores the id of the created enterprise", ->
|
|
expect(EnterpriseRegistrationService.enterprise.id).toBe 6
|
|
|
|
it "moves the user to the about page", ->
|
|
expect(RegistrationServiceMock.select).toHaveBeenCalledWith 'about'
|
|
|
|
describe "failure", ->
|
|
beforeEach ->
|
|
spyOn(RegistrationServiceMock, "select")
|
|
spyOn(window, "alert")
|
|
$httpBackend.expectPOST("/api/enterprises?token=keykeykeykey").respond 400, 6
|
|
EnterpriseRegistrationService.create()
|
|
$httpBackend.flush()
|
|
|
|
it "alerts the user to failure", ->
|
|
expect(window.alert).toHaveBeenCalledWith 'Failed to create your enterprise.\nPlease ensure all fields are completely filled out.'
|
|
|
|
it "does not move the user to the about page", ->
|
|
expect(RegistrationServiceMock.select).not.toHaveBeenCalled
|
|
|
|
|
|
describe "updating an enterprise", ->
|
|
beforeEach ->
|
|
EnterpriseRegistrationService.enterprise.id = 78
|
|
spyOn(RegistrationServiceMock, "select")
|
|
|
|
describe "success", ->
|
|
beforeEach ->
|
|
$httpBackend.expectPUT("/api/enterprises/78?token=keykeykeykey").respond 200, 6
|
|
EnterpriseRegistrationService.update('step')
|
|
$httpBackend.flush()
|
|
|
|
it "moves the user to the about page", ->
|
|
expect(RegistrationServiceMock.select).toHaveBeenCalledWith 'step'
|
|
|
|
describe "failure", ->
|
|
beforeEach ->
|
|
spyOn(window, "alert")
|
|
$httpBackend.expectPUT("/api/enterprises/78?token=keykeykeykey").respond 400, 6
|
|
EnterpriseRegistrationService.update('step')
|
|
$httpBackend.flush()
|
|
|
|
it "alerts the user to failure", ->
|
|
expect(window.alert).toHaveBeenCalledWith 'Failed to update your enterprise.\nPlease ensure all fields are completely filled out.'
|
|
|
|
it "does not move the user to the about page", ->
|
|
expect(RegistrationServiceMock.select).not.toHaveBeenCalled
|