spec/netsuite/configuration_spec.rb in netsuite-0.7.8 vs spec/netsuite/configuration_spec.rb in netsuite-0.7.9

- old
+ new

@@ -45,11 +45,11 @@ it 'caches the client' do expect(config.wsdl_cache).to be_empty conn = config.connection expect( - config.wsdl_cache.fetch([config.api_version, config.wsdl]) + config.wsdl_cache.fetch(config.wsdl) ).to eq(conn) end it 'uses cached wsdls' do allow(config).to receive(:cached_wsdl) @@ -97,34 +97,34 @@ context '#cache_wsdl' do it 'stores the client' do expect(config.wsdl_cache).to be_empty config.cache_wsdl("whatevs") expect(config.wsdl_cache).to eq( - {[config.api_version, config.wsdl] => "whatevs"} + {config.wsdl => "whatevs"} ) end it 'doesnt write over old values' do config.class_exec(config.api_version, config.wsdl) do |api, wsdl| - wsdl_cache[[api, wsdl]] = "old value" + wsdl_cache[wsdl] = "old value" end config.cache_wsdl("new value") expect(config.wsdl_cache.values.first).to eq("old value") end it 'handles a nil cache' do config.class_eval { @wsdl_cache = nil } config.cache_wsdl("whatevs") expect(config.wsdl_cache).to eq( - {[config.api_version, config.wsdl] => "whatevs"} + {config.wsdl => "whatevs"} ) end it 'can cache multiple values' do config.class_exec("2020_2", "fake wsdl") do |api, wsdl| - wsdl_cache[[api, wsdl]] = "old value" + wsdl_cache[wsdl] = "old value" end expect(config.wsdl_cache.keys.count).to eq 1 config.cache_wsdl("new value") expect(config.wsdl_cache.keys.count).to eq 2 @@ -132,11 +132,11 @@ end context '#cached_wsdl' do it 'returns wsdl (xml)' do config.class_exec(config.api_version, config.wsdl) do |api, wsdl| - wsdl_cache[[api, wsdl]] = "xml wsdl string" + wsdl_cache[wsdl] = "xml wsdl string" end expect( config.cached_wsdl ).to eq "xml wsdl string" end it 'stores client xml' do @@ -144,11 +144,11 @@ allow(client).to receive(:is_a?).with(String).and_return(false) allow(client).to receive(:is_a?).with(Savon::Client).and_return(true) wsdl_dbl = double(:wsdl, xml: "xml wsdl") client.instance_exec(wsdl_dbl) {|wsdl| @wsdl = wsdl } config.class_exec(config.api_version, config.wsdl, client) do |api, wsdl, c| - wsdl_cache[[api, wsdl]] = c + wsdl_cache[wsdl] = c end expect( config.wsdl_cache.values.first ).to eq client expect( config.cached_wsdl ).to eq "xml wsdl" expect( config.wsdl_cache.values.first ).to eq "xml wsdl" @@ -312,12 +312,16 @@ end describe '#api_version=' do context 'when api version is defined' do it 'sets the api_version of the application' do - config.api_version = '2012_1' - expect(config.api_version).to eq('2012_1') + # retrieve wsdl to ensure setting the api works when the wsdl is cached + config.wsdl + config.api_version = '1980_1' + + expect(config.api_version).to eq('1980_1') + expect(config.wsdl).to include('1980_1') end end end describe "#credentials" do @@ -341,16 +345,19 @@ config.silent = true expect(config.silent).to eq(true) end it '#wsdl_domain' do + # NOTE wsdl is tested since it uses wsdl_domain expect(config.wsdl_domain).to eq('webservices.netsuite.com') - config.wsdl_domain = 'custom.domain.com' + config.wsdl_domain('custom.domain.com') expect(config.wsdl_domain).to eq('custom.domain.com') + expect(config.wsdl).to include('custom.domain.com') config.sandbox = true expect(config.wsdl_domain).to eq('webservices.sandbox.netsuite.com') + expect(config.wsdl).to include('webservices.sandbox.netsuite.com') end describe '#logger=' do let(:logger) { Logger.new(nil) }