Rails rspec CSV générateur d'erreur pour le tableau de chaîne de caractères en réponse

J'ai les spécifications pour mon CSV générateur

RSpec.describe CsvAdminLogData::CsvAdminLogGenerator do
  include_context 'with admin_user form'
  subject(:csv_file) { described_class.new(start_date, end_date).call }

  it 'creates CSV file with proper value' do
    csv_file
    log_file = CSV.open('app/custom/file.csv')
     expect(log_file.to_a[1]).to match_array(
      CSV.generate_line([
                          admin_log1.created_at,
                          admin_log1.action_type,
                          admin_log1.admin_email,
                          admin_log1.old_data,
                          admin_log1.new_data,
                        ]),
    )
  end

Avec l'erreur:

   expected collection contained:  ["2019-06-17 16:39:22 +0200,New,[email protected],\"{\"\"email\"\"=>\"\"courtne...=>\"\"2019-09-16T16:39:22.880+02:00\"\", \"\"other_activities\"\"=>\"\"forbidden websites\"\"}\"\n"]
   actual collection contained:    ["2019-06-17 16:39:22 +0200", "New", "[email protected]", "{\"email\"=>\"courtn... \"last_update\"=>\"2019-09-16T16:39:22.880+02:00\", \"other_activities\"=>\"forbidden websites\"}"]
   the missing elements were:      ["2019-06-17 16:39:22 +0200,New,[email protected],\"{\"\"email\"\"=>\"\"courtne...=>\"\"2019-09-16T16:39:22.880+02:00\"\", \"\"other_activities\"\"=>\"\"forbidden websites\"\"}\"\n"]
   the extra elements were:        ["2019-06-17 16:39:22 +0200", "New", "[email protected]", "{\"email\"=>\"courtn... \"last_update\"=>\"2019-09-16T16:39:22.880+02:00\", \"other_activities\"=>\"forbidden websites\"}"]

Donc autant je vois que j'ai un tableau de chaîne de caractères au lieu de simplement un tableau. J'ai essayé de la traiter avec quelque chose comme ceci:

log_file = CSV.open('app/custom/file.csv').to_a
    expect([log_file[1].join(',')])

Mais sans résultats. J'ai aussi essayé d'ajouter ([... admin_log1.new_data,]).first.split(', ') à la fin des résultats attendus, mais j'ai reçu un message d'erreur NoMethodError: undefined method split' for Mon, 17 Jun 2019 16:14:56 CEST +02:00:Time

0
2019-09-17 16:45:13
source
0 réponses

Voir d'autres questions sur les étiquettes