FIX: converting topic to message for a second time was broken
This commit is contained in:
parent
0c2be8b775
commit
4b23634092
|
@ -49,7 +49,7 @@ class TopicConverter
|
||||||
@topic.category_id = nil
|
@topic.category_id = nil
|
||||||
@topic.archetype = Archetype.private_message
|
@topic.archetype = Archetype.private_message
|
||||||
add_allowed_users
|
add_allowed_users
|
||||||
@topic.save
|
@topic.save!
|
||||||
watch_topic(topic)
|
watch_topic(topic)
|
||||||
end
|
end
|
||||||
@topic
|
@topic
|
||||||
|
@ -77,7 +77,7 @@ class TopicConverter
|
||||||
user.user_stat.post_count -= 1
|
user.user_stat.post_count -= 1
|
||||||
user.user_stat.save!
|
user.user_stat.save!
|
||||||
end
|
end
|
||||||
@topic.topic_allowed_users.build(user_id: @user.id)
|
@topic.topic_allowed_users.build(user_id: @user.id) unless @topic.topic_allowed_users.where(user_id: @user.id).exists?
|
||||||
# update topics count
|
# update topics count
|
||||||
@topic.user.user_stat.topic_count -= 1
|
@topic.user.user_stat.topic_count -= 1
|
||||||
@topic.user.user_stat.save!
|
@topic.user.user_stat.save!
|
||||||
|
|
|
@ -131,5 +131,17 @@ describe TopicConverter do
|
||||||
expect(topic.reload.user.user_stat.post_count).to eq(0)
|
expect(topic.reload.user.user_stat.post_count).to eq(0)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when user already exists in topic_allowed_users table' do
|
||||||
|
before do
|
||||||
|
topic.topic_allowed_users.create!(user_id: admin.id)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "works" do
|
||||||
|
private_message = topic.convert_to_private_message(admin)
|
||||||
|
expect(private_message).to be_valid
|
||||||
|
expect(topic.archetype).to eq("private_message")
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue