Wie schreibe ich einen Rspec-Test für Update-String-Attribut? Ich habe Attribut: "Status" und Array für das = [ 'First', 'Zweite'] - Modell BeitragTesten von Model Interactor - Update-Attribut RAILS RSpec
it "update status attribute" do expect(@result).to change(Post, :status) end
ist es richtig?
Mein Interaktorsystem:
class User::Post::RequestVerification < ActiveInteraction::Base
object :user
string :status, default: nil
integer :id, default: nil
validate :status
def execute
update_status!
end
def post
@post ||= post.find(id)
end
def update_status!
@post.update_atrributes!(
status: ['First', 'Second']
)
end
def status
errors.add(:base, 'error')
end
end
Mein RspecTest:
require 'rails_helper'
describe User::Post::RequestVerification do
before do
@result = User::Post::RequestVerification.run(new_params[:post])
end
let!(:user) {Post.new}
let!(:user) { User.create }
let!(:new_params) do
{
post: {
status: 'First'
}
}
end
it "should update status" do
expect(@result).to change(Post, :status)
end
end
Ich möchte einen Test schreiben, ein Attribut zu aktualisieren.
Sie es ausführen Haben? Welchen Fehler oder welche unerwartete Ausgabe sehen Sie? – aBadAssCowboy
'erwarteter #Status, der geändert wurde, aber keinen Block erhalten hat' und binding.pry ' @details = {: base => [{: error => "error"}, {: error => "error" }],: status => [{: type => "string",: fehler =>: invalid_type}]}, @messages = {: base => ["fehler", "fehler"],: status => ["ist keine gültige Zeichenkette"]}> ' – Rafonix