# frozen_string_literal: true require 'rails_helper' RSpec.describe NgRule do describe '#copy!' do let(:original) { Fabricate(:ng_rule, account_domain: 'foo.bar', account_avatar_state: :needed, status_text: 'ohagi', status_mention_threshold: 5, status_allow_follower_mention: false) } let(:copied) { original.copy! } it 'saves safely' do expect { copied.save! }.to_not raise_error expect(copied.reload.id).to_not eq original.id end it 'saves specified rules' do expect(copied.account_domain).to eq 'foo.bar' expect(copied.account_avatar_state.to_sym).to eq :needed expect(copied.status_text).to eq 'ohagi' expect(copied.status_mention_threshold).to eq 5 expect(copied.status_allow_follower_mention).to be false end it 'saves default rules' do expect(copied.account_header_state.to_sym).to eq :optional expect(copied.status_spoiler_text).to eq '' expect(copied.status_reference_threshold).to eq(-1) end end end