У меня есть простой сервис, который создает запись с именем PropertyReport
:
#app/services/portfolios/related_property_reports.rb
module Portfolios
class RelatedPropertyReports
def initialize(portfolio, portfolio_report)
@portfolio = portfolio
@portfolio_report = portfolio_report
end
def call
PropertyReport.create!(
property: property,
portfolio_report: portfolio_report,
)
end
end
end
Теперь я хочу протестировать эту службу, используя минитест ниже:
#app/services/portfolios/related_property_reports_test.rb
require 'test_helper'
module Portfolios
class RelatedPropertyReports < ActiveSupport::TestCase
setup do
@portfolio = Portfolio.create(name: Faker::Bank.name)
@property = Property.create(portfolio: @portfolio, name: Faker::Bank.name, status: 'planned')
@portfolio_report = PortfolioReport.create(portfolio: @portfolio)
end
test 'create new record' do
service.call
assert_equal 1, PropertyReport.count
end
private
def service
@service ||= ::Portfolios::RelatedPropertyReports.new(@portfolio, @portfolio_report)
end
end
end
Что дает мне ошибку:
Portfolios::RelatedPropertyReports#test_create_new_record: ArgumentError: неправильное количество аргументов (дано 2, ожидается 1)
Очень странно, учитывая, что я даю два аргумента внутри new
. Что я пропустил?