mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
68 lines
2.0 KiB
Ruby
68 lines
2.0 KiB
Ruby
require 'spec_helper'
|
|
|
|
module Api
|
|
describe EnterprisesController do
|
|
include AuthenticationWorkflow
|
|
render_views
|
|
|
|
let(:enterprise) { create(:distributor_enterprise) }
|
|
|
|
before do
|
|
stub_authentication!
|
|
Enterprise.stub(:find).and_return(enterprise)
|
|
end
|
|
|
|
describe "as an enterprise manager" do
|
|
let(:enterprise_manager) { create_enterprise_user }
|
|
|
|
before do
|
|
enterprise_manager.enterprise_roles.build(enterprise: enterprise).save
|
|
Spree.user_class.stub :find_by_spree_api_key => enterprise_manager
|
|
end
|
|
|
|
describe "creating an enterprise" do
|
|
let(:australia) { Spree::Country.find_by_name('Australia') }
|
|
let(:new_enterprise_params) { {enterprise: {name: 'name', email: 'email@example.com', address_attributes: {address1: '123 Abc Street', city: 'Northcote', zipcode: '3070', state_id: australia.states.first, country_id: australia.id } } } }
|
|
|
|
it "creates as sells=any when it is not a producer" do
|
|
spree_post :create, new_enterprise_params
|
|
response.should be_success
|
|
|
|
enterprise = Enterprise.last
|
|
enterprise.sells.should == 'any'
|
|
end
|
|
end
|
|
|
|
describe "submitting a valid image" do
|
|
before do
|
|
enterprise.stub(:update_attributes).and_return(true)
|
|
end
|
|
|
|
it "I can update enterprise image" do
|
|
spree_post :update_image, logo: 'a logo'
|
|
response.should be_success
|
|
end
|
|
end
|
|
end
|
|
|
|
describe "as an non-managing user" do
|
|
let(:non_managing_user) { create_enterprise_user }
|
|
|
|
before do
|
|
Spree.user_class.stub :find_by_spree_api_key => non_managing_user
|
|
end
|
|
|
|
describe "submitting a valid image" do
|
|
before do
|
|
enterprise.stub(:update_attributes).and_return(true)
|
|
end
|
|
|
|
it "I can't update enterprise image" do
|
|
spree_post :update_image, logo: 'a logo'
|
|
assert_unauthorized!
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|