This commit is contained in:
erwanlr
2014-11-25 17:36:11 +01:00
parent fb8ad72335
commit 8252cb486b
3 changed files with 23 additions and 8 deletions

View File

@@ -9,6 +9,6 @@ gem 'ruby-progressbar', '>=1.6.0'
group :test do group :test do
gem 'webmock', '>=1.17.2' gem 'webmock', '>=1.17.2'
gem 'simplecov' gem 'simplecov'
gem 'rspec', '~>3.0' gem 'rspec', '>=3.0'
gem 'rspec-its' gem 'rspec-its'
end end

View File

@@ -38,6 +38,7 @@ class WpUsers < WpItems
junk = get_equal_string_end(display_names) junk = get_equal_string_end(display_names)
unless junk.nil? or junk.empty? unless junk.nil? or junk.empty?
self.each do |u| self.each do |u|
u.display_name ||= ''
u.display_name = u.display_name.sub(/#{Regexp.escape(junk)}$/, '') u.display_name = u.display_name.sub(/#{Regexp.escape(junk)}$/, '')
end end
end end

View File

@@ -25,19 +25,19 @@ describe 'WpUsers::Output' do
subject.push(@input) subject.push(@input)
subject.flatten! subject.flatten!
subject.remove_junk_from_display_names subject.remove_junk_from_display_names
expect(subject).to be === @expected expect(subject).to eq @expected
end end
it 'should return an empty array' do it 'returns an empty array' do
@expected = @input @expected = @input
end end
it 'should return input object' do it 'returns input object' do
@input.push(WpUser.new(nil)) @input.push(WpUser.new(nil))
@expected = @input @expected = @input
end end
it 'should return input object' do it 'returns input object' do
@input.push(WpUser.new('')) @input.push(WpUser.new(''))
@expected = @input @expected = @input
end end
@@ -50,23 +50,37 @@ describe 'WpUsers::Output' do
@expected.push(WpUser.new('', login: '', id: 2, display_name: 'ijrjd')) @expected.push(WpUser.new('', login: '', id: 2, display_name: 'ijrjd'))
end end
it 'should return unmodified input object' do it 'returns unmodified input object' do
@input.push(WpUser.new('', login: '', id: 1, display_name: 'lkjh asdfa')) @input.push(WpUser.new('', login: '', id: 1, display_name: 'lkjh asdfa'))
@input.push(WpUser.new('', login: '', id: 2, display_name: 'ijrjd asdf')) @input.push(WpUser.new('', login: '', id: 2, display_name: 'ijrjd asdf'))
@expected = @input @expected = @input
end end
it 'should return input object' do it 'returns input object' do
@input.push(WpUser.new('', login: '', id: 1, display_name: 'lkjh asdf')) @input.push(WpUser.new('', login: '', id: 1, display_name: 'lkjh asdf'))
@expected = @input @expected = @input
end end
it 'should return an empty display_name' do it 'returns an empty display_name' do
@input.push(WpUser.new('', login: '', id: 1, display_name: 'lkhj asdf')) @input.push(WpUser.new('', login: '', id: 1, display_name: 'lkhj asdf'))
@input.push(WpUser.new('', login: '', id: 2, display_name: 'lkhj asdf')) @input.push(WpUser.new('', login: '', id: 2, display_name: 'lkhj asdf'))
@expected = WpUsers.new(0) @expected = WpUsers.new(0)
@expected.push(WpUser.new('', login: '', id: 1, display_name: '')) @expected.push(WpUser.new('', login: '', id: 1, display_name: ''))
@expected.push(WpUser.new('', login: '', id: 2, display_name: '')) @expected.push(WpUser.new('', login: '', id: 2, display_name: ''))
end end
context 'when a user has no display_name' do
it 'returns an empty display_name' do
@input.push(WpUser.new('', login: '', id: 1, display_name: 'lkhj asdf'))
@input.push(WpUser.new('', login: '', id: 2, display_name: 'lkhj asdf'))
@input.push(WpUser.new('', login: '', id: 3))
@expected = WpUsers.new(0)
(1..3).each do |id|
@expected.push(WpUser.new('', login: '', id: id, display_name: ''))
end
end
end
end end
end end