From a8c342b3ac98d4e4aa5c3ee5003080e8fd1fbfab Mon Sep 17 00:00:00 2001 From: Bjorn Forsberg Date: Thu, 24 Aug 2023 15:52:58 +0200 Subject: [PATCH] Start adding tests --- app/models/payment_history/csv_importer.rb | 9 ++++++-- .../payment_history/csv_importer_test.rb | 23 +++++++++++++++++++ test/models/payment_history_test.rb | 7 +++--- 3 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 test/models/payment_history/csv_importer_test.rb diff --git a/app/models/payment_history/csv_importer.rb b/app/models/payment_history/csv_importer.rb index 9b3c5f8..40c2472 100644 --- a/app/models/payment_history/csv_importer.rb +++ b/app/models/payment_history/csv_importer.rb @@ -1,7 +1,7 @@ require "zip" class PaymentHistory::CsvImporter - attr_accessor :user, :calculate_from_date, :temp_files + attr_accessor :user, :calculate_from_date, :filename, :temp_files CSV_READER_OPTIONS = { converters: :all, @@ -62,13 +62,14 @@ class PaymentHistory::CsvImporter def initialize(user:, filename:) @user = user @calculate_from_date = user.calculate_from_date + @filename = filename @temp_files = {} - @temp_files[:csv] = prepare_csv_file(filename) @rows_processed_count = 0 @batch_of_payments = [] end def import! + prepare_csv_file clear_old_payments import_new_payments rescue => e @@ -79,6 +80,10 @@ def import! private + def prepare_csv_file + @temp_files[:csv] = prepare_csv_file(@filename) + end + def clear_old_payments user.payment_histories.where("payment_date > ?", calculate_from_date).delete_all end diff --git a/test/models/payment_history/csv_importer_test.rb b/test/models/payment_history/csv_importer_test.rb new file mode 100644 index 0000000..f6c17e9 --- /dev/null +++ b/test/models/payment_history/csv_importer_test.rb @@ -0,0 +1,23 @@ +require "test_helper" + +class PaymentHistory::CsvImporterTest < ActiveSupport::TestCase + + setup do + @user = users(:regular) + @filename = "filename.zip" + end + + test "new" do + @user = users(:regular) + @filename = "filename.zip" + + @importer = PaymentHistory::CsvImporter.new(user: @user, filename: @filename) + + assert @importer.user == @user + assert @importer.filename == @filename + assert @importer.calculate_from_date == @user.calculate_from_date + end + + # test "import" do + # end +end diff --git a/test/models/payment_history_test.rb b/test/models/payment_history_test.rb index 7572c07..c6ec024 100644 --- a/test/models/payment_history_test.rb +++ b/test/models/payment_history_test.rb @@ -1,7 +1,8 @@ require "test_helper" class PaymentHistoryTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end + + test "default_start_date" do + PaymentHistory.default_start_date == 4.years.ago.to_date + end end