1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- require_relative '../lib/parse'
-
- RSpec.describe 'Parser' do
- it 'should parse threads' do
- html = Nokogiri::HTML(<<~HTML)
- <div class="even" id="thread_12345">
- <ul class="list read">
- <li class="member">
- <span>Thread By: </span>
- <a href="/member/view/creator1/" class="memberlink">creator1</a>
- </li>
- <li class="subject">
- <span>Subject: </span>
- <a href="/thread/view/12345/&p=999">
- <strong>Sticky:</sticky> Thread title 1
- </a>
- </li>
- <li class="posts"><span>Posts: </span>999</li>
- <li class="lastpost">
- <span>Last Post By:</span>
- <a href="/member/view/lastposter1/" class="memberlink">lastposter1</a> on Fri Apr 10 2020 01:23 am</li>
- </ul>
- </div>
- <div class="even" id="thread_123456">
- <ul class="list read">
- <li class="member">
- <span>Thread By: </span>
- <a href="/member/view/creator2/" class="memberlink">creator2</a>
- </li>
- <li class="subject">
- <span>Subject: </span>
- <a href="/thread/view/123456/&p=999">Thread title 2</a>
- </li>
- <li class="posts"><span>Posts: </span>999</li>
- <li class="lastpost">
- <span>Last Post By:</span>
- <a href="/member/view/lastposter2/" class="memberlink">lastposter2</a> on Fri Apr 10 2020 01:23 am</li>
- </ul>
- </div>
- HTML
-
- expect(Parse.threads(html)).to eq([
- {remote_id: '12345', title: 'Sticky: Thread title 1', creator: 'creator1', is_sticky: true},
- {remote_id: '123456', title: 'Thread title 2', creator: 'creator2', is_sticky: false},
- ])
- end
- end
|