Restructure omni services and add Chatwoot research snapshot
This commit is contained in:
56
research/chatwoot/spec/drops/contact_drop_spec.rb
Normal file
56
research/chatwoot/spec/drops/contact_drop_spec.rb
Normal file
@@ -0,0 +1,56 @@
|
||||
require 'rails_helper'
|
||||
|
||||
describe ContactDrop do
|
||||
subject(:contact_drop) { described_class.new(contact) }
|
||||
|
||||
let!(:contact) { create(:contact, custom_attributes: { car_model: 'Tesla Model S', car_year: '2022' }) }
|
||||
|
||||
context 'when first name' do
|
||||
it 'returns first name' do
|
||||
contact.update!(name: 'John Doe')
|
||||
expect(subject.first_name).to eq 'John'
|
||||
end
|
||||
|
||||
it('return the capitalized name') do
|
||||
contact.update!(name: 'john doe')
|
||||
expect(subject.name).to eq 'John Doe'
|
||||
end
|
||||
|
||||
it('return the capitalized first name') do
|
||||
contact.update!(name: 'john doe')
|
||||
expect(subject.last_name).to eq 'Doe'
|
||||
end
|
||||
end
|
||||
|
||||
context 'when last name' do
|
||||
it 'returns the last name' do
|
||||
contact.update!(name: 'John Doe')
|
||||
expect(subject.last_name).to eq 'Doe'
|
||||
end
|
||||
|
||||
it 'returns empty when last name not present' do
|
||||
contact.update!(name: 'John')
|
||||
expect(subject.last_name).to be_nil
|
||||
end
|
||||
|
||||
it('return the capitalized last name') do
|
||||
contact.update!(name: 'john doe')
|
||||
expect(subject.last_name).to eq 'Doe'
|
||||
end
|
||||
end
|
||||
|
||||
context 'when accessing custom attributes' do
|
||||
it 'returns the correct car model from custom attributes' do
|
||||
expect(contact_drop.custom_attribute['car_model']).to eq 'Tesla Model S'
|
||||
end
|
||||
|
||||
it 'returns the correct car year from custom attributes' do
|
||||
expect(contact_drop.custom_attribute['car_year']).to eq '2022'
|
||||
end
|
||||
|
||||
it 'returns empty hash when there are no custom attributes' do
|
||||
contact.update!(custom_attributes: nil)
|
||||
expect(contact_drop.custom_attribute).to eq({})
|
||||
end
|
||||
end
|
||||
end
|
||||
41
research/chatwoot/spec/drops/user_drop_spec.rb
Normal file
41
research/chatwoot/spec/drops/user_drop_spec.rb
Normal file
@@ -0,0 +1,41 @@
|
||||
require 'rails_helper'
|
||||
|
||||
describe UserDrop do
|
||||
subject(:user_drop) { described_class.new(user) }
|
||||
|
||||
let!(:user) { create(:user) }
|
||||
|
||||
context 'when first name' do
|
||||
it 'returns first name' do
|
||||
user.update!(name: 'John Doe')
|
||||
expect(subject.first_name).to eq 'John'
|
||||
end
|
||||
|
||||
it('return the capitalized first name') do
|
||||
user.update!(name: 'john doe')
|
||||
expect(subject.first_name).to eq 'John'
|
||||
end
|
||||
end
|
||||
|
||||
it('return the capitalized name') do
|
||||
user.update!(name: 'peter')
|
||||
expect(subject.name).to eq 'Peter'
|
||||
end
|
||||
|
||||
context 'when last name' do
|
||||
it 'returns the last name' do
|
||||
user.update!(name: 'John Doe')
|
||||
expect(subject.last_name).to eq 'Doe'
|
||||
end
|
||||
|
||||
it 'returns empty when last name not present' do
|
||||
user.update!(name: 'John')
|
||||
expect(subject.last_name).to be_nil
|
||||
end
|
||||
|
||||
it('return the capitalized last name') do
|
||||
user.update!(name: 'john doe')
|
||||
expect(subject.last_name).to eq 'Doe'
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user