discourse/spec/components/avatar_lookup_spec.rb
Daniel Waterworth e219588142 DEV: Prefabrication (test optimization) (#7414)
* Introduced fab!, a helper that creates database state for a group

It's almost identical to let_it_be, except:

 1. It creates a new object for each test by default,
 2. You can disable it using PREFABRICATION=0
2019-05-07 13:12:20 +10:00

31 lines
780 B
Ruby

# encoding: utf-8
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'avatar_lookup'
describe AvatarLookup do
fab!(:user) { Fabricate(:user, username: "john_doe", name: "John Doe") }
describe '#[]' do
before do
@avatar_lookup = AvatarLookup.new([user.id, nil])
end
it 'returns nil if user_id does not exists' do
expect(@avatar_lookup[0]).to eq(nil)
end
it 'returns nil if user_id is nil' do
expect(@avatar_lookup[nil]).to eq(nil)
end
it 'returns user if user_id exists' do
avatar_lookup_user = @avatar_lookup[user.id]
expect(avatar_lookup_user).to eq(user)
expect(avatar_lookup_user.username).to eq("john_doe")
expect(avatar_lookup_user.name).to eq("John Doe")
end
end
end