Don't create unnecessary tenants in tenant tests

While creating the "venus" tenant for every test makes the code cleaner,
it also makes the tests much slower, so we aren't doing so in tests
where we don't use this tenant.
This commit is contained in:
Javi Martín
2022-12-03 14:45:11 +01:00
parent f4bd8e9ef9
commit 159a24f452

View File

@@ -1,12 +1,10 @@
require "rails_helper" require "rails_helper"
describe "Multitenancy", :seed_tenants do describe "Multitenancy", :seed_tenants do
before do before { create(:tenant, schema: "mars") }
create(:tenant, schema: "mars")
create(:tenant, schema: "venus")
end
scenario "Disabled features", :no_js do scenario "Disabled features", :no_js do
create(:tenant, schema: "venus")
Tenant.switch("mars") { Setting["process.debates"] = true } Tenant.switch("mars") { Setting["process.debates"] = true }
Tenant.switch("venus") { Setting["process.debates"] = nil } Tenant.switch("venus") { Setting["process.debates"] = nil }
@@ -22,6 +20,7 @@ describe "Multitenancy", :seed_tenants do
end end
scenario "Content is different for differents tenants" do scenario "Content is different for differents tenants" do
create(:tenant, schema: "venus")
Tenant.switch("mars") { create(:poll, name: "Human rights for Martians?") } Tenant.switch("mars") { create(:poll, name: "Human rights for Martians?") }
with_subdomain("mars") do with_subdomain("mars") do
@@ -69,6 +68,7 @@ describe "Multitenancy", :seed_tenants do
end end
scenario "Creating content in one tenant doesn't affect other tenants" do scenario "Creating content in one tenant doesn't affect other tenants" do
create(:tenant, schema: "venus")
Tenant.switch("mars") { login_as(create(:user)) } Tenant.switch("mars") { login_as(create(:user)) }
with_subdomain("mars") do with_subdomain("mars") do
@@ -96,6 +96,7 @@ describe "Multitenancy", :seed_tenants do
end end
scenario "Users from another tenant cannot vote" do scenario "Users from another tenant cannot vote" do
create(:tenant, schema: "venus")
Tenant.switch("mars") { create(:proposal, title: "Earth invasion") } Tenant.switch("mars") { create(:proposal, title: "Earth invasion") }
Tenant.switch("venus") { login_as(create(:user)) } Tenant.switch("venus") { login_as(create(:user)) }
@@ -138,6 +139,7 @@ describe "Multitenancy", :seed_tenants do
end end
scenario "Users from another tenant can't sign in" do scenario "Users from another tenant can't sign in" do
create(:tenant, schema: "venus")
Tenant.switch("mars") { create(:user, email: "marty@consul.dev", password: "20151021") } Tenant.switch("mars") { create(:user, email: "marty@consul.dev", password: "20151021") }
with_subdomain("mars") do with_subdomain("mars") do