Тест Rspec не запускает обновление контроллера - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь написать простой тест для проверки обновления Employee, и хотя он работает на практике, я все равно хотел написать тест.

RSpec.describe EmployeesController, type: :controller do

    before(:each) do
      admin_user = FactoryBot.create(
        :user,
        user_type: 1,
        email: "admin@admin.com",
        password: "oeifhoi2345tf",
        password_confirmation: "oeifhoi2345tf"
      )
      login_as(admin_user)

      @employee = create(:employee)
    end

    it 'expects employee values to update following update' do
        p @employee
        put :update, params: { 
            id: @employee[:id], 
            employee: { name: "New Name" }
        }
        @employee.reload
        p @employee

        expect(@employee.name).to eq("New Name")
    end
end

Тест не пройден и @employee.name остается без изменений. Я чувствую, что обновление даже не происходит, потому что я добавил строку печати в свой контроллер и не вижу ее в своих журналах:

def update
    p "IN UPDATE"

    if @employee.update(employee_params)
        redirect_to edit_employee_path(@employee[:id])
    else
        render :edit
    end
end

Что-то мне не хватает в моем put звонке?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...