Refactor Conversation model (#134)
* Add Conversation factory with dependent factories * Include FactoryBot methods in rspec config * Add unit tests for public methods of Conversation model * Move Current model into a separate file in lib folder * Disable Metrics/BlockLength rule for db/migrate and spec folders * Get rid of global $dispatcher variable * Create Message#unread_since scope * Refactor callback methods in Conversation model * Create Conversations::EventDataPresenter * Add translation keys for activity messages * Add pry-rails gem * Refactor Conversation#notify_status_change * Add mock_redis for test env
This commit is contained in:
committed by
Sojan Jose
parent
43e54a7bfb
commit
4768aca484
24
spec/factories/conversations.rb
Normal file
24
spec/factories/conversations.rb
Normal file
@@ -0,0 +1,24 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
FactoryBot.define do
|
||||
factory :conversation do
|
||||
status { 'open' }
|
||||
display_id { SecureRandom.uuid }
|
||||
user_last_seen_at { Time.current }
|
||||
agent_last_seen_at { Time.current }
|
||||
locked { false }
|
||||
|
||||
factory :complete_conversation do
|
||||
after(:build) do |conversation|
|
||||
conversation.account ||= create(:account)
|
||||
conversation.inbox ||= create(
|
||||
:inbox,
|
||||
account: conversation.account,
|
||||
channel: create(:channel_widget, account: conversation.account)
|
||||
)
|
||||
conversation.sender ||= create(:contact, account: conversation.account)
|
||||
conversation.assignee ||= create(:user)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user