spec/redstream/producer_spec.rb in redstream-0.4.4 vs spec/redstream/producer_spec.rb in redstream-0.5.0
- old
+ new
@@ -8,21 +8,10 @@
stream_key_name = Redstream.stream_key_name("products")
expect { Redstream::Producer.new.queue(product) }.to change { redis.xlen(stream_key_name) }.by(1)
expect(redis.xrange(stream_key_name, "-", "+").last[1]).to eq("payload" => JSON.dump(product.redstream_payload))
end
-
- it "deletes the delay message when given" do
- product = create(:product)
-
- producer = Redstream::Producer.new
-
- id = producer.delay(product)
- producer.queue(product, delay_message_id: id)
-
- expect(redis.xlen(Redstream.stream_key_name("products.delay"))).to eq(0)
- end
end
describe "#delay" do
it "adds a delay message for individual objects" do
product = create(:product)
@@ -46,12 +35,14 @@
it "adds bulk delay messages for scopes" do
products = create_list(:product, 2)
stream_key_name = Redstream.stream_key_name("products")
- expect(redis.xlen("#{stream_key_name}.delay")).to eq(0)
+ expect(redis.xlen("#{stream_key_name}.delay")).to eq(2)
Redstream::Producer.new.bulk(Product.all) do
+ expect(redis.xlen("#{stream_key_name}.delay")).to eq(4)
+
messages = redis.xrange("#{stream_key_name}.delay", "-", "+").last(2).map { |message| message[1] }
expect(messages).to eq([
{ "payload" => JSON.dump(products[0].redstream_payload) },
{ "payload" => JSON.dump(products[1].redstream_payload) }