Skip to content

Commit

Permalink
Refactor price statuses
Browse files Browse the repository at this point in the history
  • Loading branch information
Artur Beljajev committed Jun 4, 2017
1 parent f76e125 commit f3e790b
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 32 deletions.
30 changes: 15 additions & 15 deletions app/models/billing/price.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,27 +23,27 @@ def self.operation_categories

def self.durations
[
'3 mons',
'6 mons',
'9 mons',
'1 year',
'2 years',
'3 years',
'4 years',
'5 years',
'6 years',
'7 years',
'8 years',
'9 years',
'10 years',
'3 mons',
'6 mons',
'9 mons',
'1 year',
'2 years',
'3 years',
'4 years',
'5 years',
'6 years',
'7 years',
'8 years',
'9 years',
'10 years',
]
end

def self.statuses
%w[pending effective expired]
%w[upcoming effective expired]
end

def self.pending
def self.upcoming
where("#{attribute_alias(:effect_time)} > ?", Time.zone.now)
end

Expand Down
34 changes: 17 additions & 17 deletions spec/models/billing/price_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,19 @@
describe '::durations', db: false do
it 'returns durations' do
durations = [
'3 mons',
'6 mons',
'9 mons',
'1 year',
'2 years',
'3 years',
'4 years',
'5 years',
'6 years',
'7 years',
'8 years',
'9 years',
'10 years',
'3 mons',
'6 mons',
'9 mons',
'1 year',
'2 years',
'3 years',
'4 years',
'5 years',
'6 years',
'7 years',
'8 years',
'9 years',
'10 years',
]

expect(described_class.durations).to eq(durations)
Expand All @@ -45,20 +45,20 @@

describe '::statuses', db: false do
it 'returns statuses' do
expect(described_class.statuses).to eq(%w[pending effective expired])
expect(described_class.statuses).to eq(%w[upcoming effective expired])
end
end

describe '::pending' do
describe '::upcoming' do
before :example do
travel_to Time.zone.parse('05.07.2010 00:00')

create(:price, id: 1, effect_time: Time.zone.parse('05.07.2010 00:00'))
create(:price, id: 2, effect_time: Time.zone.parse('05.07.2010 00:01'))
end

it 'returns pending' do
expect(described_class.pending.ids).to eq([2])
it 'returns upcoming' do
expect(described_class.upcoming.ids).to eq([2])
end
end

Expand Down

0 comments on commit f3e790b

Please sign in to comment.