Sha256: febc2ebbc2dd46068e43c58d2724a3e34dce8b4b0e0b1d36bffc015fbdcf65cf

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

describe "Rapnd::Notification" do
  before do
    @notification = Rapnd::Notification.new(:badge => 99, :alert => 'Big test time', :custom => {:key => 'This is a test!', :spid => 1234}, :device_token => '1234 5')
  end
  
  it 'removes whitespace from the device token' do
    @notification.device_token.should == '12345'
  end
  
  it 'does not set the body key if only an alert is passed' do
    @notification = Rapnd::Notification.new(:alert => 'Big test time', :custom => {:key => 'This is a test!', :spid => 1234}, :device_token => '1234 5')
    
    @notification.payload.should == {:aps => {:alert => "Big test time"}, :key => "This is a test!", :spid => 1234}
  end
  
  it "automatically assigns hash variables to instance variables" do
    @notification.badge.should == 99
    @notification.custom.should == {:key => 'This is a test!', :spid => 1234}
  end
  
  it 'creates a hash payload' do
    @notification.payload.should == {:aps=>{:badge=>99, :alert=>"Big test time"}, :key => "This is a test!", :spid => 1234}
  end
  
  it 'jsonifies the hash payload' do
    ActiveSupport::JSON.decode(@notification.json_payload).should == {"aps"=>{"badge"=>99, "alert"=>"Big test time"}, "key"=>"This is a test!", "spid"=>1234}
  end
  
  it 'turns into bytes sensibly' do
    @notification.to_bytes.should == "\x00\x00 \x124P\x00P{\"aps\":{\"badge\":99,\"alert\":\"Big test time\"},\"key\":\"This is a test!\",\"spid\":1234}"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rapnd-0.2.1 spec/notification_spec.rb