module ActiveSupport::Testing::Assertions

def assert_no_changes(expression, message = nil, from: UNTRACKED, &block)

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

An error message can be specified.

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

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

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

and after invoking the passed in block.
Assertion that the result of evaluating an expression is not changed before
def assert_no_changes(expression, message = nil, from: UNTRACKED, &block)
  exp = expression.respond_to?(:call) ? expression : -> { eval(expression.to_s, block.binding) }
  before = exp.call
  retval = _assert_nothing_raised_or_warn("assert_no_changes", &block)
  unless from == UNTRACKED
    error = "Expected initial value of #{from.inspect}"
    error = "#{message}.\n#{error}" if message
    assert from === before, error
  end
  after = exp.call
  error = "#{expression.inspect} changed"
  error = "#{message}.\n#{error}" if message
  if before.nil?
    assert_nil after, error
  else
    assert_equal before, after, error
  end
  retval
end