123456789101112131415161718192021222324252627282930313233343536 |
- require 'rails_helper'
- RSpec.describe Ticket::Number do
- let(:stubbed_subclass) { double('Foo') }
- before { stub_const('Ticket::Number::Foo', stubbed_subclass) }
- describe '.generate' do
- before { Setting.set('ticket_number', 'Ticket::Number::Foo') }
- it 'defers to subclass specified in "ticket_number" setting' do
- expect(Ticket::Number::Foo).to receive(:generate)
- expect(described_class.generate).to be(nil)
- end
- end
- describe '.check' do
- before { Setting.set('ticket_number', 'Ticket::Number::Foo') }
- it 'defers to subclass specified in "ticket_number" setting' do
- expect(Ticket::Number::Foo).to receive(:check).with('foo')
- expect(described_class.check('foo')).to be(nil)
- end
- end
- describe '.adapter' do
- it 'defaults to Ticket::Number::Increment' do
- expect(described_class.adapter).to be(Ticket::Number::Increment)
- end
- it 'depends on "ticket_number" setting' do
- expect { Setting.set('ticket_number', 'Ticket::Number::Foo') }
- .to change(described_class, :adapter).to(Ticket::Number::Foo)
- end
- end
- end
|