From 3fc79f96c2c665bbd0e19471a64308c221b091dc Mon Sep 17 00:00:00 2001 From: olegphenomenon Date: Mon, 25 Jul 2022 14:41:27 +0300 Subject: [PATCH] assign auction type for nil value rake task --- lib/tasks/assing_auction_platform_type.rake | 12 +++++++++ .../assign_auction_platform_type_test.rb | 27 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 lib/tasks/assing_auction_platform_type.rake create mode 100644 test/tasks/assign_auction_platform_type_test.rb diff --git a/lib/tasks/assing_auction_platform_type.rake b/lib/tasks/assing_auction_platform_type.rake new file mode 100644 index 000000000..aaa3e54be --- /dev/null +++ b/lib/tasks/assing_auction_platform_type.rake @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +namespace :auction do + desc 'Check closed disputes with expired_at in the Past' + task assign_platform_type: :environment do + auctions = Auction.where(platform: nil) + + auctions.each do |auction| + auction.update(platform: :auto) + end + end +end diff --git a/test/tasks/assign_auction_platform_type_test.rb b/test/tasks/assign_auction_platform_type_test.rb new file mode 100644 index 000000000..cd0d10917 --- /dev/null +++ b/test/tasks/assign_auction_platform_type_test.rb @@ -0,0 +1,27 @@ +require 'test_helper' + +class AssignAuctionPlatformTypeTest < ActiveSupport::TestCase + setup do + @auction_one = auctions(:one) + @auction_two = auctions(:idn) + end + + def test_output + assert_nil @auction_one.platform + assert_nil @auction_two.platform + + run_task + + @auction_one.reload + @auction_two.reload + + assert_equal @auction_one.platform, "auto" + assert_equal @auction_two.platform, "auto" + end + + private + + def run_task + Rake::Task['auction:assign_platform_type'].execute + end +end