DEV: Make the first argument to the top-level describe a constant in specs

This commit is contained in:
Loïc Guitaut
2022-08-08 16:05:41 +02:00
committed by Loïc Guitaut
parent 8b8cbe7905
commit 00b3f0e2c4
6 changed files with 72 additions and 84 deletions

View File

@ -245,4 +245,56 @@ RSpec.describe DiscourseRedis do
expect(redis_proxy.calls).to eq([:evalsha, :eval, :evalsha, :evalsha])
end
end
describe ".new_redis_store" do
let(:cache) { Cache.new(namespace: 'foo') }
let(:store) { DiscourseRedis.new_redis_store }
before do
cache.redis.del("key")
store.delete("key")
end
it "can store stuff" do
store.fetch("key") do
"key in store"
end
r = store.read("key")
expect(r).to eq("key in store")
end
it "doesn't collide with our Cache" do
store.fetch("key") do
"key in store"
end
cache.fetch("key") do
"key in cache"
end
r = store.read("key")
expect(r).to eq("key in store")
end
it "can be cleared without clearing our cache" do
cache.clear
store.clear
store.fetch("key") do
"key in store"
end
cache.fetch("key") do
"key in cache"
end
store.clear
expect(store.read("key")).to eq(nil)
expect(cache.fetch("key")).to eq("key in cache")
end
end
end

View File

@ -1,7 +1,7 @@
# frozen_string_literal: true
RSpec.describe "DistributedCache extensions" do
let(:cache) { DistributedCache.new('mytest') }
RSpec.describe DistributedCache do
let(:cache) { described_class.new('mytest') }
it "can defer_get_set" do
messages = MessageBus.track_publish("/distributed_hash") do

View File

@ -86,22 +86,22 @@ RSpec.describe Onebox::Engine do
expect(result).to match(/https/)
end
end
end
RSpec.describe ".onebox_name" do
module ScopeForTemplateName
class TemplateNameOnebox
include Onebox::Engine
describe ".onebox_name" do
module ScopeForTemplateName
class TemplateNameOnebox
include Onebox::Engine
end
end
let(:onebox_name) { ScopeForTemplateName::TemplateNameOnebox.onebox_name }
it "should not include the scope" do
expect(onebox_name).not_to include("ScopeForTemplateName", "scopefortemplatename")
end
it "should not include the word Onebox" do
expect(onebox_name).not_to include("onebox", "Onebox")
end
end
let(:onebox_name) { ScopeForTemplateName::TemplateNameOnebox.onebox_name }
it "should not include the scope" do
expect(onebox_name).not_to include("ScopeForTemplateName", "scopefortemplatename")
end
it "should not include the word Onebox" do
expect(onebox_name).not_to include("onebox", "Onebox")
end
end

View File

@ -1,64 +0,0 @@
# frozen_string_literal: true
require 'cache'
RSpec.describe "Redis Store" do
let :cache do
Cache.new(namespace: 'foo')
end
let :store do
DiscourseRedis.new_redis_store
end
before(:each) do
cache.redis.del "key"
store.delete "key"
end
it "can store stuff" do
store.fetch "key" do
"key in store"
end
r = store.read "key"
expect(r).to eq("key in store")
end
it "doesn't collide with our Cache" do
store.fetch "key" do
"key in store"
end
cache.fetch "key" do
"key in cache"
end
r = store.read "key"
expect(r).to eq("key in store")
end
it "can be cleared without clearing our cache" do
cache.clear
store.clear
store.fetch "key" do
"key in store"
end
cache.fetch "key" do
"key in cache"
end
store.clear
expect(store.read("key")).to eq(nil)
expect(cache.fetch("key")).to eq("key in cache")
end
end

View File

@ -10,7 +10,7 @@ module QualityTitleValidatorSpec
end
end
RSpec.describe "A record validated with QualityTitleValidator" do
RSpec.describe QualityTitleValidator do
let(:valid_title) { "hello this is my cool topic! welcome: all;" }
let(:short_title) { valid_title.slice(0, SiteSetting.min_topic_title_length - 1) }
let(:long_title) { valid_title.center(SiteSetting.max_topic_title_length + 1, 'x') }