From 3d55c68bad6422821e5d45184f9020548d48a90a Mon Sep 17 00:00:00 2001 From: Philipp Rothmann Date: Mon, 26 Sep 2022 20:28:40 +0200 Subject: [PATCH] supplier_spec: add sync from file test --- spec/models/supplier_spec.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/spec/models/supplier_spec.rb b/spec/models/supplier_spec.rb index f918e077..4f73dd37 100644 --- a/spec/models/supplier_spec.rb +++ b/spec/models/supplier_spec.rb @@ -3,6 +3,21 @@ require_relative '../spec_helper' describe Supplier do let(:supplier) { create :supplier } + context 'syncs from file' do + it 'imports and updates articles' do + article1 = create(:article, supplier: supplier, order_number: 177813, unit: '250 g', price: 0.1) + article2 = create(:article, supplier: supplier, order_number: 12345) + supplier.articles = [article1, article2] + options = { filename: "foodsoft_file_01.csv" } + options[:outlist_absent] = true + options[:convert_units] = true + updated_article_pairs, outlisted_articles, new_articles = supplier.sync_from_file( Rails.root.join("spec/fixtures/foodsoft_file_01.csv"), options) + expect(new_articles.length).to be > 0 + expect(updated_article_pairs.first[1][:name]).to eq "Tomaten" + expect(outlisted_articles.first).to eq article2 + end + end + it 'return correct tolerance' do supplier = create :supplier, articles: create_list(:article, 1, unit_quantity: 1) expect(supplier.has_tolerance?).to be false