In meiner Rails 5 app erstellen und lösche ich diese Edelsteine unter anderem bin mit:Es kann keine Benutzer in Rspec mit Devise und DeviseTokenAuth aktualisieren, obwohl funktionieren
gem "devise", "~> 4.2.0"
gem "devise_token_auth"
Mein Benutzermodell:
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable, :rememberable, :trackable, :validatable
include DeviseTokenAuth::Concerns::User
Ich kann keine Rspec Anfrage erstellen, um einen Benutzer zu aktualisieren. Was auch immer ich versucht habe, es ist fehlgeschlagen:
require "rails_helper"
RSpec.describe UsersController, type: :controller do
describe "PATCH #update" do
context "with valid params" do
it "updates the requested user" do
u1 = create(:user)
patch :update, params: { id: u1.to_param, user: attributes_for(:user, name: "name_new", email: "[email protected]") },
format: :json
u1.reload
expect(u1.name).to eq("name_new")
end
end
Die Sache ist die, dass ein Test für das Erstellen und Löschen eines Benutzer gut funktioniert. Nur die Aktualisierung funktioniert nicht.
Es sendet die neuen Parameter während der Patch-Anfrage, aber die zurückgegebenen Parameter eines Benutzers sind immer die alten. Was ist der Fehler - ich habe keine Ahnung, es sagt nur, dass der Test fehlschlägt. Und noch einmal - nur ein Update.
Ich habe versucht, PUT und POST zu verwenden - immer noch fehlgeschlagen.
ich ausprobiert habe. – Otaffa
können Sie Ihre Frage mit Fehlerverfolgung bearbeiten? –