Sha256: 328af55d456bc81f2c8d93051b4d51eaa69572498e7f2bdd34c124b0163b7128

Contents?: true

Size: 965 Bytes

Versions: 2

Compression:

Stored size: 965 Bytes

Contents

RSpec.describe Commons::Concerns::Extensions::SoftDeleted do
  let(:user) { create(:user) }

  subject do
    user
  end

  describe 'works ok!' do
    it 'when existing user' do
      expect(subject.deleted?).to eq false
    end

    it 'when existing user allows save' do
      subject.name = Faker::Name.first_name
      expect{ subject.save }.not_to raise_error
    end

    it 'when deleted user' do
      # given
      user = subject
      user = UserRepository.instance.destroy!(user)
      # do
      expect(user.deleted?).to eq true
    end

    it 'when deleted user denies save' do
      # given
      user = subject
      user = UserRepository.instance.destroy!(user)
      user.name = Faker::Name.first_name
      # do
      expect{ user.save }.to raise_error(ActiveRecord::RecordInvalid)
    end

    it 'when model is not soft_deletable' do
      # do
      expect{ Employee.new }.to raise_error(ActiveModel::MissingAttributeError)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
commons_yellowme-0.16.0 spec/commons/concerns/extensions/deleted_spec.rb
commons_yellowme-0.15.0 spec/commons/concerns/extensions/deleted_spec.rb