У меня есть две роли пользователя, и я хочу написать тест в rspec, чтобы увидеть, присоединяются ли роли пользователя к пользователю после создания. Также администраторы должны иметь возможность переключать роли пользователей с одной на другую.
Вот моя модель пользователя, как я структурирую тип пользователей, используя enum
enum role: [:batman, :superman]
after_initialize :set_default_role, :if => :new_record?
protected
def set_default_role
self.role ||= :batman
end
Я застрял в приведенном ниже тесте и не уверен, как проверить, была ли роль успешно присоединена. Также есть ли способ проверить, можно ли изменить роль пользователя для пользователя? Например, если пользователь был создан с ролью Бэтмена, его можно переключить на Супермена?
RSpec.describe User, type: :model do
before do
@user = FactoryBot.create(:user)
end
describe "creation" do
it "can be created" do
expect(@user).to be_valid
end
end
end