diff options
author | Claire <claire.github-309c@sitedethib.com> | 2023-04-09 11:40:14 +0200 |
---|---|---|
committer | Claire <claire.github-309c@sitedethib.com> | 2023-04-09 11:45:08 +0200 |
commit | ce12934f5b1804cc144014d9d0a93fdd16d13bf1 (patch) | |
tree | e6cb0c166392c28b38d86abe8f27344ce1d7752f /spec/lib/admin/system_check/database_schema_check_spec.rb | |
parent | ff168ef2024626f37fa776fde5739dcd58ecb9f2 (diff) | |
parent | 99e3e152cd2180cfa9a5bcafae208d44f31078f8 (diff) |
Merge branch 'main' into glitch-soc/merge-upstream
Conflicts: - `package.json`: Upstream removed a dependency that was textually close to a glitch-soc-only dependency. Removed the dependency as upstream did, while keeping the glitch-soc-only dependency.
Diffstat (limited to 'spec/lib/admin/system_check/database_schema_check_spec.rb')
-rw-r--r-- | spec/lib/admin/system_check/database_schema_check_spec.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/spec/lib/admin/system_check/database_schema_check_spec.rb b/spec/lib/admin/system_check/database_schema_check_spec.rb new file mode 100644 index 000000000..db1dcb52f --- /dev/null +++ b/spec/lib/admin/system_check/database_schema_check_spec.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe Admin::SystemCheck::DatabaseSchemaCheck do + subject(:check) { described_class.new(user) } + + let(:user) { Fabricate(:user) } + + it_behaves_like 'a check available to devops users' + + describe 'pass?' do + context 'when database needs migration' do + before do + context = instance_double(ActiveRecord::MigrationContext, needs_migration?: true) + allow(ActiveRecord::Base.connection).to receive(:migration_context).and_return(context) + end + + it 'returns false' do + expect(check.pass?).to be false + end + end + + context 'when database does not need migration' do + before do + context = instance_double(ActiveRecord::MigrationContext, needs_migration?: false) + allow(ActiveRecord::Base.connection).to receive(:migration_context).and_return(context) + end + + it 'returns true' do + expect(check.pass?).to be true + end + end + end + + describe 'message' do + it 'sends class name symbol to message instance' do + allow(Admin::SystemCheck::Message).to receive(:new).with(:database_schema_check) + + check.message + + expect(Admin::SystemCheck::Message).to have_received(:new).with(:database_schema_check) + end + end +end |