Новое на ruby / rails и в настоящее время в процессе изучения и написания спецификаций.У меня есть эти два метода для очистки подписчиков Instagram
def instagram_scraped_followers_count(instagram_username)
url = "https://www.instagram.com/#{ CGI::escape(instagram_username) }/"
body = HTTParty.get(url)
match = body.match(/(?<=content\=")(?<count>\d+[,.]?\d*)(?<unit>[km])?(?=\sFollowers)/) if body
match['count'].to_f * instagram_multiplier(match['unit']) if match
end
def instagram_multiplier(unit)
case unit
when 'm' then 1_000_000
when 'k' then 1_000
else 1
end
end
и я добавил для этого юнит-тест, как показано ниже:
context '1,300 followers' do
let(:html_body) { '<meta content="1,300 Followers, 1,408 Following, 395 Posts' }
it 'returns 1,300' do
expect(subject.stats[:instagram]).to eql(1_300.0)
end
end
Мой юнит-тест не пройден из-за этого context '1,300 followers' do
иошибка говорит о том, что expected: 1300.0 got: 1.0
Что я пропустил?Это потому, что в instagram_multiplier
методе нет условий для этого?