Spec for bitbucket page
This commit is contained in:
parent
314c4746bc
commit
3a0fecb492
|
@ -23,6 +23,7 @@ module Bitbucket
|
|||
|
||||
def parse_values(raw, bitbucket_rep_class)
|
||||
return [] unless raw['values'] && raw['values'].is_a?(Array)
|
||||
|
||||
bitbucket_rep_class.decorate(raw['values'])
|
||||
end
|
||||
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Bitbucket::Page do
|
||||
let(:response) { { 'values' => [{ 'username' => 'Ben' }], 'pagelen' => 2, 'next' => '' } }
|
||||
|
||||
before do
|
||||
# Autoloading hack
|
||||
Bitbucket::Representation::User.new({})
|
||||
end
|
||||
|
||||
describe '#items' do
|
||||
it 'returns collection of needed objects' do
|
||||
page = described_class.new(response, :user)
|
||||
|
||||
expect(page.items.first).to be_a(Bitbucket::Representation::User)
|
||||
expect(page.items.count).to eq(1)
|
||||
end
|
||||
end
|
||||
|
||||
describe '#attrs' do
|
||||
it 'returns attributes' do
|
||||
page = described_class.new(response, :user)
|
||||
|
||||
expect(page.attrs.keys).to include(:pagelen, :next)
|
||||
end
|
||||
end
|
||||
|
||||
describe '#next?' do
|
||||
it 'returns true' do
|
||||
page = described_class.new(response, :user)
|
||||
|
||||
expect(page.next?).to be_truthy
|
||||
end
|
||||
|
||||
it 'returns false' do
|
||||
response['next'] = nil
|
||||
page = described_class.new(response, :user)
|
||||
|
||||
expect(page.next?).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
describe '#next' do
|
||||
it 'returns next attribute' do
|
||||
page = described_class.new(response, :user)
|
||||
|
||||
expect(page.next).to eq('')
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue