spec/lib/events/grant_spec.rb in pubnub-3.8.5 vs spec/lib/events/grant_spec.rb in pubnub-4.0.0beta1

- old
+ new

@@ -1,11 +1,50 @@ require 'spec_helper' describe Pubnub::Grant do it_behaves_like 'an event' - around(:each) do |example| + around :each do |example| Celluloid.boot example.run Celluloid.shutdown end + + context 'given basic parameters' do + before :each do + Pubnub::Grant.any_instance.stub(:current_time).and_return 1463146850 + Pubnub::Grant.any_instance.stub(:signature).and_return 'udCXAk-z4VaU2JA2LgjVzED2LBZAKsjj86twYJoGPnY=' + + @pubnub = Pubnub::Client.new( + subscribe_key: 'sub-c-b7fb805a-1777-11e6-be83-0619f8945a4f', + publish_key: 'pub-c-b42cec2f-f468-4784-8833-dd2b074538c4', + secret_key: 'sec-c-OWIyYmVlYWYtYWMxMS00OTcxLTlhZDAtZDBlYTM4ODE1MWUy', + auth_key: 'ruby-test-auth', + uuid: 'ruby-test-uuid' + ) + end + + it 'works' do + VCR.use_cassette('lib/events/grant', record: :once) do + envelope = @pubnub.grant( + channel: :demo + ).value + + expect(envelope.status).to satisfies_schema Pubnub::Schemas::Envelope::StatusSchema + expect(envelope.result).to satisfies_schema Pubnub::Schemas::Envelope::ResultSchema + end + end + + it 'forms valid ErrorEnvelope on error' do + VCR.use_cassette('lib/events/grant-error', record: :once) do + envelope = @pubnub.grant( + channel: :demo + ).value + + expect(envelope.is_a?(Pubnub::ErrorEnvelope)).to eq true + expect(envelope.status).to satisfies_schema Pubnub::Schemas::Envelope::StatusSchema + expect(envelope.result).to satisfies_schema Pubnub::Schemas::Envelope::ResultSchema + end + end + end + end \ No newline at end of file