Sha256: bc5a13a49e38e253cfdba5ce4a9a8677f22a91f55ccc01f3b33e04b7a9ad5a78

Contents?: true

Size: 1.35 KB

Versions: 57

Compression:

Stored size: 1.35 KB

Contents

# frozen_string_literal: true

# generado con pg_rails

require 'rails_helper'

RSpec.describe Email do
  let(:email) { create(:email, status: :pending) }

  it 'se persiste' do
    expect(email).to be_persisted
  end

  it 'se persiste cuando no hay tenant' do
    ActsAsTenant.current_tenant = nil
    expect(email).to be_persisted
  end

  describe 'update_status!' do
    context 'cuando hay accepted y delivered' do
      subject do
        create :email_log, email: email.reload, event: 'accepted'
        create :email_log, email: email.reload, event: 'delivered'
      end

      it do
        expect { subject }.to change { email.reload.status }.to 'delivered'
      end
    end

    context 'cuando hay accepted y fallo temporario' do
      subject do
        create :email_log, email: email.reload, event: 'failed', severity: 'temporary'
        create :email_log, email: email.reload, event: 'accepted'
      end

      it do
        expect { subject }.to change { email.reload.status }.to 'accepted'
      end
    end

    context 'cuando hay accepted y fallo permanente' do
      subject do
        create :email_log, email: email.reload, event: 'accepted'
        create :email_log, email: email.reload, event: 'failed', severity: 'permanent'
      end

      it do
        expect { subject }.to change { email.reload.status }.to 'rejected'
      end
    end
  end
end

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
pg_rails-7.6.35 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.34 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.33 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.32 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.31 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.30 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.29 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.28 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.27 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.26 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.25 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.24 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.24.pre.5 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.24.pre.4 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.24.pre.3 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.23 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.22 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.22.pre.3 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.22.pre.2 pg_engine/spec/models/email_spec.rb
pg_rails-7.6.22.pre.1 pg_engine/spec/models/email_spec.rb