summaryrefslogtreecommitdiff
path: root/spec/models/dependency_proxy/image_ttl_group_policy_spec.rb
blob: 9f6358e128695aa8325a00787a97cc7691f9f8b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe DependencyProxy::ImageTtlGroupPolicy, type: :model do
  describe 'relationships' do
    it { is_expected.to belong_to(:group) }
  end

  describe 'validations' do
    it { is_expected.to validate_presence_of(:group) }

    describe '#enabled' do
      it { is_expected.to allow_value(true).for(:enabled) }
      it { is_expected.to allow_value(false).for(:enabled) }
      it { is_expected.not_to allow_value(nil).for(:enabled) }
    end

    describe '#ttl' do
      it { is_expected.to validate_numericality_of(:ttl).allow_nil.is_greater_than(0) }
    end
  end

  describe '.enabled' do
    it 'returns policies that are enabled' do
      enabled_policy = create(:image_ttl_group_policy)
      create(:image_ttl_group_policy, :disabled)

      expect(described_class.enabled).to contain_exactly(enabled_policy)
    end
  end
end