require 'spec_helper' describe QuickbooksWebConnector::Configuration do subject { QuickbooksWebConnector.config } describe 'server_version' do context 'by default' do its(:server_version) { should eq '1.0.0' } end context 'configured via config block' do before { QuickbooksWebConnector.configure { |c| c.server_version = '1.2.3' } } its(:server_version) { should eq '1.2.3' } after { QuickbooksWebConnector.configure { |c| c.server_version = '1.0.0' } } end end describe 'minimum_web_connector_client_version' do context 'by default' do its(:minimum_web_connector_client_version) { should be_nil } end context 'configured via config block' do before { QuickbooksWebConnector.configure { |c| c.minimum_web_connector_client_version = '2.1.0.30' } } its(:minimum_web_connector_client_version) { should eq '2.1.0.30' } after { QuickbooksWebConnector.configure { |c| c.minimum_web_connector_client_version = nil } } end end context 'username' do context 'by default' do its(:username) { should eq 'web_connector' } end context 'configured via a config block' do before { QuickbooksWebConnector.configure { |c| c.username = 'jsmith' } } its(:username) { should eq 'jsmith' } after { QuickbooksWebConnector.configure { |c| c.username = 'web_connector' } } end end context 'password' do context 'by default' do its(:password) { should eq 'secret' } end context 'configured via a config block' do before { QuickbooksWebConnector.configure { |c| c.password = 'quickbooks' } } its(:password) { should eq 'quickbooks' } after { QuickbooksWebConnector.configure { |c| c.password = 'secret' } } end end context 'company_file_path' do context 'by default' do its(:company_file_path) { should eq '' } end context 'configured via a config block' do before { QuickbooksWebConnector.configure { |c| c.company_file_path = '/path/to/company.qbw' } } its(:company_file_path) { should eq '/path/to/company.qbw' } after { QuickbooksWebConnector.configure { |c| c.company_file_path = '' } } end end describe 'parent_controller' do context 'by default' do its(:parent_controller) { should eq 'ApplicationController' } end context 'configured via config block' do before { QuickbooksWebConnector.configure { |c| c.parent_controller = 'MyController' } } its(:parent_controller) { should eq 'MyController' } after { QuickbooksWebConnector.configure { |c| c.parent_controller = 'ApplicationController' } } end end end