method

assert_no_changes

rails latest stable - Class: ActiveSupport::Testing::Assertions
assert_no_changes(expression, message = nil, from: UNTRACKED, &block)
public

Assertion that the result of evaluating an expression is not changed before and after invoking the passed in block.

assert_no_changes 'Status.all_good?' do
  post :create, params: { status: { ok: true } }
end

Provide the optional keyword argument :from to specify the expected initial value.

assert_no_changes -> { Status.all_good? }, from: true do
  post :create, params: { status: { ok: true } }
end

An error message can be specified.

assert_no_changes -> { Status.all_good? }, 'Expected the status to be good' do
  post :create, params: { status: { ok: false } }
end