File: be_new_record_spec.rb

package info (click to toggle)
ruby-rspec-rails 7.1.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,796 kB
  • sloc: ruby: 11,068; sh: 198; makefile: 6
file content (29 lines) | stat: -rw-r--r-- 747 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
RSpec.describe "be_new_record" do
  context "a new record" do
    let(:record) { double('record', new_record?: true) }

    it "passes" do
      expect(record).to be_new_record
    end

    it "fails with custom failure message" do
      expect {
        expect(record).not_to be_new_record
      }.to raise_exception(/expected .* to be persisted, but was a new record/)
    end
  end

  context "a persisted record" do
    let(:record) { double('record', new_record?: false) }

    it "fails" do
      expect(record).not_to be_new_record
    end

    it "fails with custom failure message" do
      expect {
        expect(record).to be_new_record
      }.to raise_exception(/expected .* to be a new record, but was persisted/)
    end
  end
end