spec/unit/notification_shared.rb in rpush-1.0.0-java vs spec/unit/notification_shared.rb in rpush-2.0.0.beta1
- old
+ new
@@ -3,103 +3,33 @@
before { Rpush::Deprecation.stub(:warn) }
it "calls MultiJson.dump when multi_json responds to :dump" do
notification = notification_class.new
MultiJson.stub(:respond_to?).with(:dump).and_return(true)
- MultiJson.should_receive(:dump).with(any_args())
- notification.send(data_setter, { :pirates => 1 })
+ MultiJson.should_receive(:dump).with(any_args)
+ notification.data = { pirates: 1 }
end
it "calls MultiJson.encode when multi_json does not respond to :dump" do
notification = notification_class.new
MultiJson.stub(:respond_to?).with(:dump).and_return(false)
- MultiJson.should_receive(:encode).with(any_args())
- notification.send(data_setter, { :ninjas => 1 })
+ MultiJson.should_receive(:encode).with(any_args)
+ notification.data = { ninjas: 1 }
end
it "raises an ArgumentError if something other than a Hash is assigned" do
expect do
- notification.send(data_setter, Array.new)
+ notification.data = Array.new
end.to raise_error(ArgumentError, "must be a Hash")
end
it "encodes the given Hash as JSON" do
- notification.send(data_setter, { :hi => "mom" })
- notification.read_attribute(:data).should eq "{\"hi\":\"mom\"}"
+ notification.data = { hi: "mom" }
+ notification.read_attribute(:data).should eq("{\"hi\":\"mom\"}")
end
it "decodes the JSON when using the reader method" do
- notification.send(data_setter, { :hi => "mom" })
- notification.send(data_getter).should eq ({"hi" => "mom"})
- end
-
- describe 'scopes' do
- before do
- Timecop.freeze(Time.now)
-
- (@delivered_notification = notification_class.new(:app => app, :delivered => true, :failed => false)).save!(:validate => false)
- (@failed_notification = notification_class.new(:app => app, :delivered => false, :failed => true)).save!(:validate => false)
- (@new_notification = notification_class.new(:app => app, :delivered => false, :failed => false)).save!(:validate => false)
- end
-
- after do
- Timecop.return
- end
-
- describe '.completed' do
- it 'should return notifications that have been delivered or failed' do
- completed_notification_ids = Rpush::Notification.completed.map(&:id)
-
- completed_notification_ids.size.should eq 2
- completed_notification_ids.should include(@delivered_notification.id, @failed_notification.id)
- completed_notification_ids.should_not include(@new_notification.id)
- end
- end
-
- describe '.created_before' do
- it 'should return notifications that were created before the specified date' do
- @delivered_notification.created_at = Time.now - 30.days - 1.second
- @delivered_notification.save!(:validate => false)
-
- notification_ids = Rpush::Notification.created_before(Time.now - 30.days).map(&:id)
-
- notification_ids.size.should eq 1
- notification_ids.should include(@delivered_notification.id)
- end
- end
-
- describe '.completed_and_older_than' do
- before do
- @delivered_notification.created_at = Time.now - 30.days - 1.second
- @delivered_notification.save!(:validate => false)
-
- @failed_notification.created_at = Time.now - 20.days - 1.second
- @failed_notification.save!(:validate => false)
-
- @new_notification.created_at = Time.now - 30.days - 1.second
- @new_notification.save!(:validate => false)
- end
-
- it 'should only include completed notifications' do
- notification_ids = Rpush::Notification.completed_and_older_than(Time.now - 30.days).map(&:id)
-
- notification_ids.size.should eq 1
- notification_ids.should include(@delivered_notification.id)
- end
-
- it 'should not include completed notifications if not older than specified date' do
- notification_ids = Rpush::Notification.completed_and_older_than(Time.now - 30.days).map(&:id)
-
- notification_ids.size.should eq 1
- notification_ids.should_not include(@failed_notification.id)
- end
-
- it 'should return notifications that are completed and created before the specified date' do
- notification_ids = Rpush::Notification.completed_and_older_than(Time.now - 20.days).map(&:id)
-
- notification_ids.size.should eq 2
- notification_ids.should include(@delivered_notification.id, @failed_notification.id)
- end
- end
+ notification.data = { hi: "mom" }
+ notification.data.should eq("hi" => "mom")
end
end
end