В rspec мы хотели бы проверить, обновлялось ли поле даты обновлением в контроллере счетов.Вот код:
it "should have corp head id and approve date" do
cust = Factory(:customer)
u = Factory(:user)
rfq = Factory(:rfq, :sales_id => u.id, :customer_id => cust.id, :sales_id => u.id)
q = Factory(:quote, :rfq_id => rfq.id)
i = Factory(:invoice, :quote_id => q.id, :approved_by_corp_head => nil )
session[:corp_head] = true
session[:user_id] = u.id
get 'update', :id => i.id, :quote_id => q.id, :invoice => {:paid_out => true, :approved_by_corp_head => true}
i.reload.corp_head_id.should == u.id
i.reload.approve_date_corp_head.strftime("%Y/%m/%d").should == Time.now.strftime("%Y/%m/%d")
end
В контроллере счетов есть строка для записи Time.now:
invoice.approve_date_corp_head = Time.now
Странно, что иногда строка i.reload.approve_date_corp_head.strftime("%Y/%m/%d").should == Time.now.strftime("%Y/%m/%d")
не может сказатьчто между датами есть разница в один день.Кажется, что линия потерпит неудачу, когда мы запустим rspec поздно ночью (хотя до 12:00).Мы не видели сбоев рано утром.
Кто-нибудь имеет представление об этом странном поведении?Большое спасибо.