Slide 68
Slide 68 text
describe 'retrieving a fullname' do
shared_examples_for 'a fullname' do |(first, middle, last), output|
subject(:fullname) { user.fullname }
let(:firstname) { first }
let(:middlename) { middle }
let(:lastname) { last }
it { is_expected.to eq output }
end
{
[nil, 'James', 'Johnson'] => 'James Johnson',
[nil, 'James', nil] => 'James',
['Jimmy', 'James', nil] => 'Jimmy James',
['Jimmy', 'James', 'Johnson'] => 'Jimmy James Johnson'
['Jimmy', nil, nil] => 'Jimmy',
[nil, nil, 'Johnson'] => 'Johnson',
['Jimmy', nil, 'Johnson'] => 'Jimmy Johnson'
}.each do |name_set, output|
it_behaves_like 'a fullname', name_set, output
end
end