backtrace_spec.rb
766 Bytes
describe Backtrace, type: 'model' do
describe '.find_or_create' do
let(:lines) do
[
{ 'number' => '123', 'file' => '/some/path/to.rb', 'method' => 'abc' },
{ 'number' => '345', 'file' => '/path/to.rb', 'method' => 'dowhat' }
]
end
let(:fingerprint) { Backtrace.generate_fingerprint(lines) }
it 'create new backtrace' do
backtrace = described_class.find_or_create(lines)
expect(backtrace.lines).to eq(lines)
expect(backtrace.fingerprint).to eq(fingerprint)
end
it 'creates one backtrace for two identical ones' do
described_class.find_or_create(lines)
described_class.find_or_create(lines)
expect(Backtrace.where(fingerprint: fingerprint).count).to eq(1)
end
end
end