Merge pull request #1107 from internetee/require-invoice-issue-date

Change `invoices.issue_date` database column to `NOT NULL`
This commit is contained in:
Timo Võhmar 2019-04-23 14:00:33 +03:00 committed by GitHub
commit 1863da189e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 8 additions and 60 deletions

View file

@ -33,11 +33,6 @@ class InvoiceTest < ActiveSupport::TestCase
assert_not Invoice.overdue.include?(@invoice), 'Should not return non-overdue invoice'
end
def test_invalid_without_issue_date
@invoice.issue_date = nil
assert @invoice.invalid?
end
def test_optional_vat_rate
@invoice.vat_rate = nil
assert @invoice.valid?

View file

@ -1,37 +0,0 @@
require 'test_helper'
class PopulateInvoiceIssueDateTaskTest < ActiveSupport::TestCase
setup do
@invoice = invoices(:one)
end
def test_populates_invoice_issue_date
eliminate_effect_of_other_invoices
@invoice.update_columns(issue_date: nil, created_at: Time.zone.parse('2010-07-05'))
assert_nil @invoice.read_attribute(:issue_date)
capture_io { run_task }
@invoice.reload
assert_equal Date.parse('2010-07-05'), @invoice.issue_date
end
def test_outputs_results
eliminate_effect_of_other_invoices
@invoice.update_columns(issue_date: nil, created_at: Time.zone.parse('2010-07-05'))
assert_output("Invoices processed: 1\n") { run_task }
end
private
def eliminate_effect_of_other_invoices
Invoice.connection.disable_referential_integrity do
Invoice.delete_all("id != #{@invoice.id}")
end
end
def run_task
Rake::Task['data_migrations:populate_invoice_issue_date'].execute
end
end