Sha256: 0ac9b58ebea0deb22e646e6f5297963147c16046e24c54dc6bbb9f1463bc9cf9
Contents?: true
Size: 1.27 KB
Versions: 2
Compression:
Stored size: 1.27 KB
Contents
shared_examples_for "an Notification subclass" do describe "when assigning data for the device" do before { allow(Rpush::Deprecation).to receive(:warn) } it "calls MultiJson.dump when multi_json responds to :dump" do notification = notification_class.new allow(MultiJson).to receive(:respond_to?).with(:dump).and_return(true) expect(MultiJson).to 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 allow(MultiJson).to receive(:respond_to?).with(:dump).and_return(false) expect(MultiJson).to 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.data = Array.new end.to raise_error(ArgumentError, "must be a Hash") end it "encodes the given Hash as JSON" do notification.data = { hi: "mom" } expect(notification.read_attribute(:data)).to eq("{\"hi\":\"mom\"}") end it "decodes the JSON when using the reader method" do notification.data = { hi: "mom" } expect(notification.data).to eq("hi" => "mom") end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rpush-2.3.2-java | spec/unit/notification_shared.rb |
rpush-2.3.2 | spec/unit/notification_shared.rb |