Когда я пытаюсь запустить minitest с simpleCov, я хочу, чтобы модель таблицы соединений UserMessages
была покрыта.
У меня есть установочный прибор, чтобы выполнить тестирование и продолжать выдавать ошибку ActiveRecord::UnknownPrimaryKey
. Это ожидаемо, так как у меня нет первичного ключа в таблице UserMessage.
Есть ли способ обойти эту ошибку и также охватить модель UserMessage?
МОДЕЛИ:
class User < ApplicationRecord
has_and_belongs_to_many :messages, join_table "users_messages"
end
class Message < ApplicaitonRecord
has_and_belongs_to_many :users, join_table: "users_messages"
end
class UserMessage <ApplicationRecord
self.table_name = "users_messsages"
belongs_to :user
belongs_to :messages
end
ИСПРАВЛЕНИЯ:
Пользователь:
default:
name: test
Сообщение:
default:
message: hello world!
users:
- default
UserMessage:
default:
user: default
message: default
ТЕСТ:
require "test_helpers"
class UserMessageTest < ActiveSupport::TestCase
def setup
@user_message = user_message(:default) # The error happens here: ActiveRecord::UnknownPrimaryKey:\
# Unknown primary key for table users_messages in model \
# UserMessage
end
test "is valid" do
assert @user_message.valid?, "Should be valid"
end
end