Sha256: 0cf8027ca86509639578722304781bafb07d2cb45c80afbbe173d90277ffddc8

Contents?: true

Size: 1.06 KB

Versions: 8

Compression:

Stored size: 1.06 KB

Contents

# frozen_string_literal: true

require "rspec"

RSpec.shared_examples "overwritten anonymisable model" do
  it "has a valid strategy defined" do
    expect(subject.class).to be_valid_anonymisation
  end

  it "#anonymise! causes overwrite" do
    result = subject.anonymise!
    expect(result).to be_overwritten
  end
end

RSpec.shared_examples "skipped anonymisable model" do
  it "has a valid strategy defined" do
    expect(subject.class).to be_valid_anonymisation
  end

  it "#anonymise! is skipped" do
    result = subject.anonymise!
    expect(result).to be_skipped
  end

  it "does not change any fields" do
    result = subject.anonymise!
    expect(result.fields).to be_empty
  end
end

RSpec.shared_examples "destroyed anonymisable model" do
  it "has a valid strategy defined" do
    expect(subject.class).to be_valid_anonymisation
  end

  it "destroys the model" do
    expect { subject.anonymise! }.to change(described_class, :count).by(-1)
  end

  it "labels the model as destroyed" do
    result = subject.anonymise!
    expect(result).to be_destroyed
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
anony-1.6.0 lib/anony/rspec_shared_examples.rb
anony-1.5.0 lib/anony/rspec_shared_examples.rb
anony-1.4.0 lib/anony/rspec_shared_examples.rb
anony-1.2.0 lib/anony/rspec_shared_examples.rb
anony-1.1.0 lib/anony/rspec_shared_examples.rb
anony-1.0.2 lib/anony/rspec_shared_examples.rb
anony-1.0.1 lib/anony/rspec_shared_examples.rb
anony-1.0.0 lib/anony/rspec_shared_examples.rb