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