mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
Specing out enterprise registration service properly
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
describe "EnterpriseRegistrationService", ->
|
||||
EnterpriseRegistrationService = null
|
||||
$httpBackend = null
|
||||
availableCountries = []
|
||||
enterpriseAttributes =
|
||||
name: "Enterprise 1"
|
||||
@@ -8,6 +9,8 @@ describe "EnterpriseRegistrationService", ->
|
||||
CurrentUser =
|
||||
id: 2
|
||||
email: 'lalala@email.com'
|
||||
RegistrationServiceMock =
|
||||
select: -> null
|
||||
|
||||
beforeEach ->
|
||||
module('Darkswarm')
|
||||
@@ -15,10 +18,68 @@ describe "EnterpriseRegistrationService", ->
|
||||
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)->
|
||||
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
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user