Sha256: c9824408e18457b5baf5be9ba666714c9ada4b0e6deda7832f6ae2006c4e817e
Contents?: true
Size: 1.86 KB
Versions: 1
Compression:
Stored size: 1.86 KB
Contents
# encoding: utf-8 describe Chronicles::Injector do let(:object) { double foo: nil, bar: nil, baz: nil } let(:options) { { only: %i(foo bar), private: false } } let(:code) { "chronicles << __method__" } subject { described_class.new object, code, options } describe "#object" do it "is initialized" do expect(subject.object).to eq object end end # describe #object describe "#list" do let(:list) { Chronicles::Methods.new(object, options).to_a } it "is initialized" do expect(subject.list).to eq list end end # describe #list describe "#code" do it "is initialized" do expect(subject.code).to eq code end it "can be nil" do subject = described_class.new object, options expect(subject.code).to be_nil end end # describe #code describe "#updaters" do let(:list) { %i(foo bar baz) } before { allow(subject).to receive(:list).and_return list } it "returns updaters" do subject.updaters.each do |updater| expect(updater).to be_kind_of Chronicles::Updater end end it "constructed for #object" do subject.updaters.each do |updater| expect(updater.object).to eq subject.object end end it "constructed for #list of methods" do expect(subject.updaters.map(&:name)).to eq subject.list end it "constructed for #code" do subject.updaters.each do |updater| expect(updater.code).to eq subject.code end end end # describe #updaters describe ".run" do let(:updaters) { 2.times.map { double run: nil } } before { allow(subject).to receive(:updaters).and_return updaters } it "runs updaters" do updaters.each { |updater| expect(updater).to receive(:run) } subject.run end end # describe .run end # describe Chronicles::Injector
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
chronicles-0.0.1 | spec/tests/chronicles/injector_spec.rb |