mirror of
https://github.com/discourse/discourse.git
synced 2025-06-04 11:11:13 +08:00
UX: Various improvements to welcome topic CTA (#21010)
- Update welcome topic copy - Edit the welcome topic automatically when the title or description changes - Remove “Create your Welcome Topic” banner/CTA - Add "edit welcome topic" user tip
This commit is contained in:
@ -188,66 +188,4 @@ RSpec.describe Site do
|
||||
data = JSON.parse(Site.json_for(Guardian.new))
|
||||
expect(data["auth_providers"].map { |a| a["name"] }).to contain_exactly("facebook", "twitter")
|
||||
end
|
||||
|
||||
describe ".show_welcome_topic_banner?" do
|
||||
it "returns false when the user is not admin" do
|
||||
first_post = Fabricate(:post, created_at: 25.days.ago)
|
||||
SiteSetting.welcome_topic_id = first_post.topic.id
|
||||
|
||||
expect(Site.show_welcome_topic_banner?(Guardian.new(Fabricate(:user)))).to eq(false)
|
||||
end
|
||||
|
||||
it "returns false when the user is not first admin who logs in" do
|
||||
admin = Fabricate(:admin)
|
||||
first_post = Fabricate(:post, created_at: 25.days.ago)
|
||||
SiteSetting.welcome_topic_id = first_post.topic.id
|
||||
|
||||
expect(Site.show_welcome_topic_banner?(Guardian.new(admin))).to eq(false)
|
||||
end
|
||||
|
||||
it "returns true when welcome topic is less than month old" do
|
||||
admin = Fabricate(:admin)
|
||||
UserAuthToken.generate!(user_id: admin.id)
|
||||
|
||||
first_post = Fabricate(:post, created_at: 25.days.ago)
|
||||
SiteSetting.welcome_topic_id = first_post.topic.id
|
||||
|
||||
expect(Site.show_welcome_topic_banner?(Guardian.new(admin))).to eq(true)
|
||||
expect(Discourse.cache.read(Site.welcome_topic_banner_cache_key(admin.id))).to eq(true)
|
||||
end
|
||||
|
||||
it "returns false when welcome topic is more than month old" do
|
||||
admin = Fabricate(:admin)
|
||||
UserAuthToken.generate!(user_id: admin.id)
|
||||
|
||||
first_post = Fabricate(:post, created_at: 35.days.ago)
|
||||
SiteSetting.welcome_topic_id = first_post.topic.id
|
||||
|
||||
expect(Site.show_welcome_topic_banner?(Guardian.new(admin))).to eq(false)
|
||||
expect(Discourse.cache.read(Site.welcome_topic_banner_cache_key(admin.id))).to eq(false)
|
||||
end
|
||||
|
||||
it "returns false when welcome topic has been edited" do
|
||||
admin = Fabricate(:admin)
|
||||
UserAuthToken.generate!(user_id: admin.id)
|
||||
|
||||
first_post = Fabricate(:post, version: 2, created_at: 25.days.ago)
|
||||
SiteSetting.welcome_topic_id = first_post.topic.id
|
||||
|
||||
expect(Site.show_welcome_topic_banner?(Guardian.new(admin))).to eq(false)
|
||||
expect(Discourse.cache.read(Site.welcome_topic_banner_cache_key(admin.id))).to eq(false)
|
||||
end
|
||||
|
||||
it "returns false when welcome topic has been deleted" do
|
||||
admin = Fabricate(:admin)
|
||||
UserAuthToken.generate!(user_id: admin.id)
|
||||
|
||||
topic = Fabricate(:topic, deleted_at: 1.minute.ago)
|
||||
first_post = Fabricate(:post, topic: topic, created_at: 25.days.ago)
|
||||
SiteSetting.welcome_topic_id = topic.id
|
||||
|
||||
expect(Site.show_welcome_topic_banner?(Guardian.new(admin))).to eq(false)
|
||||
expect(Discourse.cache.read(Site.welcome_topic_banner_cache_key(admin.id))).to eq(false)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user