tilde.news/spec/features/preferred_color_scheme_spec.rb

45 lines
987 B
Ruby

# typed: false
require "rails_helper"
RSpec.feature "Color scheme selection" do
scenario "logged out" do
visit "/"
expect(root_classes).to include("color-scheme-system")
end
context "logged in" do
before(:each) { stub_login_as user }
let(:user) { create(:user, prefers_color_scheme: preferred) }
context "with no preference set" do
let(:preferred) { :system }
it "uses the system colors" do
expect(root_classes).to include("color-scheme-system")
end
end
context "with preference set to light" do
let(:preferred) { :light }
it "uses the system colors" do
expect(root_classes).to include("color-scheme-light")
end
end
context "with preference set to dark" do
let(:preferred) { :dark }
it "uses the system colors" do
expect(root_classes).to include("color-scheme-dark")
end
end
end
def root_classes
page.find("html")["class"].split(" ")
end
end