require 'spec_helper'

describe ProductCategory do
  let(:all_week){ Array.new(7, 1) }
  let(:show_saturday){ [0,0,0,0,0,0,1] }
  let(:show_sunday){ [1,0,0,0,0,0,0] }

  describe '#week_days', broken: true do
    let(:product_category) { create :product_category }
    subject { product_category }
    let(:default) { all_week }
    its(:week_days) { should == default }
    it "typecasts strings into integers" do
      subject.week_days = Array.new(7, "0")
      subject.week_days.should == Array.new(7, 0)
    end
  end

  describe '#for_supplier_in_time', broken: true do
    subject{ described_class }
    let(:supplier){ create :supplier, time_zone: 'Tijuana', night_offset: 150 }

    it 'works for a normal product category' do
      c1 = create :product_category, supplier: supplier, name: 'Lunch', full_day: true
      c2 = create :product_category, supplier: supplier, name: 'Happy hour', full_day: false, start_from: 1320, end_on: 1380 # from 22 to 23 hour
      subject.for_supplier_in_time(supplier, Time.now.beginning_of_day + 1300.minutes).should == [c1]
      subject.for_supplier_in_time(supplier, Time.now.beginning_of_day + 1350.minutes).should == [c1, c2]
    end

    it 'finds sunday morning products on saturday categories', broken: true do
      c1 = create :product_category, supplier: supplier, name: 'Lunch', full_day: true
      c2 = create :product_category, supplier: supplier, name: 'Sunday special', full_day: true
    end

  end
end
