Sha256: d50257aa11fca87846fee6711614db61730d83d771ccca7d899a194ca5a00239

Contents?: true

Size: 1.92 KB

Versions: 19

Compression:

Stored size: 1.92 KB

Contents

# -*- encoding : utf-8 -*-

describe Card::Set::Self::Admin do
  it "renders a table" do
    Card::Auth.as_bot do
      @core = render_card :core, name: :admin
    end
    assert_view_select @core, "table"
  end

  context "#update" do
    let(:admin) {Card[:admin]}

    def run_admin_task task
      Card::Auth.as_bot do
        Card::Env.params[:task] = task
        admin.update_attributes({})
      end
    end

    it "clearing trash is denied" do
      expect { run_admin_task :empty_trash }
        .to raise_error Card::Error::Oops, /The admin task 'empty trash'/
    end

    it "clearing history is denied" do
      expect { run_admin_task :clear_history }
        .to raise_error Card::Error::Oops, /The admin task 'clear history'/
    end

    context "irreversible tasks allowed" do
      around(:example) do |example|
        Cardio.config.allow_irreversible_admin_tasks = true
        example.run
        Cardio.config.allow_irreversible_admin_tasks = false
      end

      it "triggers empty trash (with right params)" do
        Card::Auth.as_bot {Card["A"].delete!}

        expect(Card.where(trash: true)).not_to be_empty
        run_admin_task :empty_trash
        expect(Card.where(trash: true)).to be_empty
      end

      it "triggers deleting old revisions (with right params)" do
        Card::Auth.as_bot do
          a = Card["A"]
          a.update_attributes! content: "a new day"
          a.update_attributes! content: "another day"
          expect(a.actions.count).to eq(3)
          run_admin_task :clear_history
          expect(a.actions.count).to eq(1)
        end
      end
    end

    # it 'is trigger reference repair' do
    #   Card::Auth.as_bot do
    #     a = Card['A']
    #     puts a.references_out.count
    #     Card::Env.params[:task] = :repair_references
    #     puts a.references_out.count
    #     @all.update_attributes({})
    #     puts a.references_out.count
    #
    #   end
    # end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
card-1.94.1 mod/admin/spec/set/self/admin_spec.rb
card-1.94.0 mod/admin/spec/set/self/admin_spec.rb
card-1.93.13 mod/admin/spec/set/self/admin_spec.rb
card-1.93.12 mod/admin/spec/set/self/admin_spec.rb
card-1.93.11 mod/admin/spec/set/self/admin_spec.rb
card-1.93.10 mod/admin/spec/set/self/admin_spec.rb
card-1.93.9 mod/admin/spec/set/self/admin_spec.rb
card-1.93.8 mod/admin/spec/set/self/admin_spec.rb
card-1.93.7 mod/admin/spec/set/self/admin_spec.rb
card-1.93.6 mod/admin/spec/set/self/admin_spec.rb
card-1.93.5 mod/admin/spec/set/self/admin_spec.rb
card-1.93.4 mod/admin/spec/set/self/admin_spec.rb
card-1.93.3 mod/admin/spec/set/self/admin_spec.rb
card-1.93.2 mod/admin/spec/set/self/admin_spec.rb
card-1.93.1 mod/admin/spec/set/self/admin_spec.rb
card-1.93.0 mod/admin/spec/set/self/admin_spec.rb
card-1.92.2 mod/admin/spec/set/self/admin_spec.rb
card-1.92.1 mod/admin/spec/set/self/admin_spec.rb
card-1.92 mod/admin/spec/set/self/admin_spec.rb