Sha256: b334306f90c64b6281344c1ecd4815348b02be4d6c1a5aaee7b97a21a27f24d0
Contents?: true
Size: 895 Bytes
Versions: 8
Compression:
Stored size: 895 Bytes
Contents
require 'rom' require 'rom/memory' RSpec.describe ROM::Plugins::Relation::Instrumentation do before do described_class.mixin Module.new end subject(:relation) do relation_class.new(dataset, notifications: notifications) end let(:dataset) do double(:dataset) end let(:relation_class) do Class.new(ROM::Memory::Relation) do schema(:users) do attribute :name, ROM::Types::String end use :instrumentation instrument def all self end end end let(:notifications) { spy(:notifications) } it 'uses notifications API when materializing a relation' do relation.to_a expect(notifications).to have_received(:instrument).with(:memory, name: :users) end it 'instruments custom methods' do relation.all expect(notifications).to have_received(:instrument).with(:memory, name: :users) end end
Version data entries
8 entries across 8 versions & 1 rubygems