spec/client_spec.rb in fuelsdk-0.1.1 vs spec/client_spec.rb in fuelsdk-0.1.2

- old
+ new

@@ -159,10 +159,53 @@ describe '#refresh' do let(:client) { FuelSDK::Client.new } + it 'does nothing if auth_token exists' do + client.should_receive(:auth_token).and_return(true) + client.should_not_receive(:clear_clients) + client.refresh + end + + describe 'requests and sets new tokens' do + subject { + client.should_receive(:request_token_data) + client.should_receive(:request_token_options).and_return('options') + client.should_receive(:post) + .with("https://auth.exacttargetapis.com/v1/requestToken", 'options') + .and_return 'accessToken' => :access, + 'legacyToken' => :legacy, + 'refreshToken' => :refresh + client + } + it 'calls #clear_clients' do + subject.instance_variable_set '@soap_client', 'SOAP' + expect(subject.instance_variable_get '@soap_client').to eq 'SOAP' + subject.refresh + expect(subject.instance_variable_get '@soap_client').to be_nil + end + it 'sets auth_token' do + subject.refresh + expect(subject.auth_token).to eq :access + end + it 'sets internal_token' do + subject.refresh + expect(subject.internal_token).to eq :legacy + end + it 'sets refresh_token' do + subject.refresh + expect(subject.refresh_token).to eq :refresh + end + + it 'sets auth_token when forced and auth_token is present' do + subject.auth_token = true + subject.refresh(true) + expect(subject.auth_token).to eq :access + end + end + context 'raises an exception' do it 'when client id and secret are missing' do expect { client.refresh }.to raise_exception 'Require Client Id and Client Secret to refresh tokens' end @@ -175,25 +218,9 @@ it 'when client secret is missing' do client.id = 1234 expect { client.refresh }.to raise_exception 'Require Client Id and Client Secret to refresh tokens' end end - - #context 'posts' do - # let(:client) { FuelSDK::Client.new 'client' => { 'id' => 123, 'secret' => 'sssh'} } - # it 'accessType=offline' do - # client.stub(:post) - # .with({'clientId' => 123, 'secret' => 'ssh', 'accessType' => 'offline'}) - # .and_return() - #end - - #context 'updates' do - # let(:client) { FuelSDK::Client.new 'client' => { 'id' => 123, 'secret' => 'sssh'} } - - # it 'access_token' do - # #client.stub(:post). - # end - #end end describe 'includes HTTPRequest' do subject { FuelSDK::Client.new }