mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-30 06:31:16 +00:00
Remove :available_on attribute from Product class
This commit is contained in:
@@ -352,9 +352,6 @@ filterSubmitProducts = (productsToFilter) ->
|
||||
if product.hasOwnProperty("inherits_properties")
|
||||
filteredProduct.inherits_properties = product.inherits_properties
|
||||
hasUpdatableProperty = true
|
||||
if product.hasOwnProperty("available_on")
|
||||
filteredProduct.available_on = product.available_on
|
||||
hasUpdatableProperty = true
|
||||
if filteredMaster?
|
||||
filteredProduct.master_attributes = filteredMaster
|
||||
hasUpdatableProperty = true
|
||||
|
||||
@@ -43,8 +43,6 @@ class ProductComponent < ViewComponentReflex::Component
|
||||
@product.tax_category.name
|
||||
when 'inherits_properties'
|
||||
@product.inherits_properties
|
||||
when 'available_on'
|
||||
format_date(@product.available_on)
|
||||
when 'import_date'
|
||||
format_date(@product.import_date)
|
||||
end
|
||||
|
||||
@@ -17,7 +17,6 @@ class ProductsTableComponent < ViewComponentReflex::Component
|
||||
label: I18n.t("admin.products_page.columns_selector.inherits_properties"),
|
||||
value: "inherits_properties"
|
||||
},
|
||||
{ label: I18n.t("admin.products_page.columns_selector.available_on"), value: "available_on" },
|
||||
{ label: I18n.t("admin.products_page.columns_selector.import_date"), value: "import_date" }
|
||||
].sort do |a, b|
|
||||
a[:label] <=> b[:label]
|
||||
|
||||
@@ -10,8 +10,6 @@ module Api
|
||||
respond_to :json
|
||||
DEFAULT_PER_PAGE = 15
|
||||
|
||||
before_action :set_default_available_on, only: :create
|
||||
|
||||
skip_authorization_check only: [:show, :bulk_products, :overridable]
|
||||
|
||||
def show
|
||||
@@ -145,10 +143,6 @@ module Api
|
||||
@product_params ||=
|
||||
params.permit(product: PermittedAttributes::Product.attributes)[:product].to_h
|
||||
end
|
||||
|
||||
def set_default_available_on
|
||||
product_params[:available_on] ||= Time.zone.now
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -81,8 +81,6 @@ module Spree
|
||||
# these values are persisted on the product's variant
|
||||
attr_accessor :price, :display_as, :unit_value, :unit_description
|
||||
|
||||
after_initialize :set_available_on_to_now, if: :new_record?
|
||||
|
||||
before_save :add_primary_taxon_to_taxons
|
||||
|
||||
after_save :remove_previous_primary_taxon_from_taxons
|
||||
@@ -201,9 +199,7 @@ module Spree
|
||||
return where('spree_products.supplier_id IN (?)', [enterprise.id] | permitted_producer_ids)
|
||||
}
|
||||
|
||||
scope :active, lambda {
|
||||
where("spree_products.deleted_at IS NULL AND spree_products.available_on <= ?", Time.zone.now)
|
||||
}
|
||||
scope :active, lambda { where("spree_products.deleted_at IS NULL") }
|
||||
|
||||
def self.group_by_products_id
|
||||
group(column_names.map { |col_name| "#{table_name}.#{col_name}" })
|
||||
@@ -295,10 +291,6 @@ module Spree
|
||||
|
||||
private
|
||||
|
||||
def set_available_on_to_now
|
||||
self.available_on ||= Time.zone.now
|
||||
end
|
||||
|
||||
def update_units
|
||||
return unless saved_change_to_variant_unit? || saved_change_to_variant_unit_name?
|
||||
|
||||
|
||||
@@ -23,8 +23,7 @@ module Spree
|
||||
|
||||
belongs_to :product, -> { with_deleted }, touch: true, class_name: 'Spree::Product'
|
||||
|
||||
delegate_belongs_to :product, :name, :description, :available_on,
|
||||
:tax_category_id, :shipping_category_id,
|
||||
delegate_belongs_to :product, :name, :description, :tax_category_id, :shipping_category_id,
|
||||
:meta_keywords, :tax_category, :shipping_category
|
||||
|
||||
has_many :inventory_units, inverse_of: :variant
|
||||
|
||||
@@ -4,8 +4,8 @@ module Api
|
||||
module Admin
|
||||
class ProductSerializer < ActiveModel::Serializer
|
||||
attributes :id, :name, :sku, :variant_unit, :variant_unit_scale, :variant_unit_name,
|
||||
:inherits_properties, :on_hand, :price, :available_on,
|
||||
:tax_category_id, :import_date, :image_url, :thumb_url, :variants
|
||||
:inherits_properties, :on_hand, :price, :tax_category_id, :import_date,
|
||||
:image_url, :thumb_url, :variants
|
||||
|
||||
has_one :supplier, key: :producer_id, embed: :id
|
||||
has_one :primary_taxon, key: :category_id, embed: :id
|
||||
@@ -36,10 +36,6 @@ module Api
|
||||
def price
|
||||
object.price.nil? ? '0.0' : object.price
|
||||
end
|
||||
|
||||
def available_on
|
||||
object.available_on.blank? ? "" : object.available_on.strftime("%F %T")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -6,7 +6,7 @@ module PermittedAttributes
|
||||
[
|
||||
:id, :name, :description, :supplier_id, :price,
|
||||
:variant_unit, :variant_unit_scale, :unit_value, :unit_description, :variant_unit_name,
|
||||
:display_as, :sku, :available_on, :group_buy, :group_buy_unit_size,
|
||||
:display_as, :sku, :group_buy, :group_buy_unit_size,
|
||||
:taxon_ids, :primary_taxon_id, :tax_category_id, :shipping_category_id,
|
||||
:meta_keywords, :notes, :inherits_properties,
|
||||
{ product_properties_attributes: [:id, :property_name, :value],
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
%col.category{ ng: { show: 'columns.category.visible' } }
|
||||
%col.tax_category{ ng: { show: 'columns.tax_category.visible' } }
|
||||
%col.inherits_properties{ ng: { show: 'columns.inherits_properties.visible' } }
|
||||
%col.available_on{ ng: { show: 'columns.available_on.visible' } }
|
||||
%col.import_date{ ng: { show: 'columns.import_date.visible' } }
|
||||
%col.actions
|
||||
%col.actions
|
||||
@@ -36,7 +35,6 @@
|
||||
%th.category{ 'ng-show' => 'columns.category.visible' }=t('.category')
|
||||
%th.tax_category{ 'ng-show' => 'columns.tax_category.visible' }=t('.tax_category')
|
||||
%th.inherits_properties{ 'ng-show' => 'columns.inherits_properties.visible' }=t('.inherits_properties?')
|
||||
%th.available_on{ 'ng-show' => 'columns.available_on.visible' }=t('.av_on')
|
||||
%th.import_date{ 'ng-show' => 'columns.import_date.visible' }=t('.import_date')
|
||||
%th.actions
|
||||
%th.actions
|
||||
|
||||
@@ -31,8 +31,6 @@
|
||||
%option{value: ''}= t(:none)
|
||||
%td.inherits_properties{ 'ng-show' => 'columns.inherits_properties.visible' }
|
||||
%input{ 'ng-model' => 'product.inherits_properties', :name => 'inherits_properties', 'ofn-track-product' => 'inherits_properties', type: "checkbox" }
|
||||
%td.available_on{ 'ng-show' => 'columns.available_on.visible' }
|
||||
%input{ 'ng-model' => 'product.available_on', :name => 'available_on', 'ofn-track-product' => 'available_on', 'datetimepicker' => 'product.available_on', type: "text" }
|
||||
%td.import_date{ 'ng-show' => 'columns.import_date.visible' }
|
||||
%span {{(product.import_date | date:"MMMM dd, yyyy HH:mm") || ""}}
|
||||
%td.actions
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
%td{ 'ng-show' => 'columns.category.visible' }
|
||||
%td{ 'ng-show' => 'columns.tax_category.visible' }
|
||||
%td{ 'ng-show' => 'columns.inherits_properties.visible' }
|
||||
%td{ 'ng-show' => 'columns.available_on.visible' }
|
||||
%td{ 'ng-show' => 'columns.import_date.visible' }
|
||||
%span {{variant.import_date | date:"MMMM dd, yyyy HH:mm"}}
|
||||
%td.actions
|
||||
|
||||
@@ -88,9 +88,6 @@ table#listing_products.bulk {
|
||||
&.category {
|
||||
width: 15%;
|
||||
}
|
||||
&.available_on {
|
||||
width: 15%;
|
||||
}
|
||||
&.actions {
|
||||
width: 3%;
|
||||
}
|
||||
|
||||
@@ -517,7 +517,6 @@ en:
|
||||
on_demand: "On Demand"
|
||||
tax_category: "Tax Category"
|
||||
inherits_properties: "Inherits Properties?"
|
||||
available_on: "Available On"
|
||||
import_date: "Import Date"
|
||||
columns_selector:
|
||||
unit: Unit
|
||||
@@ -529,7 +528,6 @@ en:
|
||||
on_demand: "On Demand"
|
||||
tax_category: "Tax Category"
|
||||
inherits_properties: "Inherits Properties?"
|
||||
available_on: "Available On"
|
||||
import_date: "Import Date"
|
||||
adjustments:
|
||||
skipped_changing_canceled_order: "You can't change a cancelled order."
|
||||
@@ -741,7 +739,6 @@ en:
|
||||
category: Category
|
||||
tax_category: Tax Category
|
||||
inherits_properties?: Inherits Properties?
|
||||
available_on: Available On
|
||||
av_on: "Av. On"
|
||||
import_date: Imported
|
||||
upload_an_image: Upload an image
|
||||
|
||||
5
db/migrate/20230628124224_remove_product_available_on.rb
Normal file
5
db/migrate/20230628124224_remove_product_available_on.rb
Normal file
@@ -0,0 +1,5 @@
|
||||
class RemoveProductAvailableOn < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
remove_column :spree_products, :available_on
|
||||
end
|
||||
end
|
||||
@@ -741,7 +741,6 @@ ActiveRecord::Schema[7.0].define(version: 2023_06_28_131123) do
|
||||
create_table "spree_products", id: :serial, force: :cascade do |t|
|
||||
t.string "name", limit: 255, default: "", null: false
|
||||
t.text "description"
|
||||
t.datetime "available_on", precision: nil
|
||||
t.datetime "deleted_at", precision: nil
|
||||
t.string "meta_keywords", limit: 255
|
||||
t.integer "tax_category_id"
|
||||
@@ -758,7 +757,6 @@ ActiveRecord::Schema[7.0].define(version: 2023_06_28_131123) do
|
||||
t.integer "primary_taxon_id", null: false
|
||||
t.boolean "inherits_properties", default: true, null: false
|
||||
t.string "sku", limit: 255, default: "", null: false
|
||||
t.index ["available_on"], name: "index_products_on_available_on"
|
||||
t.index ["deleted_at"], name: "index_products_on_deleted_at"
|
||||
t.index ["name"], name: "index_products_on_name"
|
||||
t.index ["primary_taxon_id"], name: "index_spree_products_on_primary_taxon_id"
|
||||
|
||||
@@ -73,7 +73,6 @@ module OpenFoodNetwork
|
||||
category: { name: I18n.t("#{node}.category"), visible: false },
|
||||
tax_category: { name: I18n.t("#{node}.tax_category"), visible: false },
|
||||
inherits_properties: { name: I18n.t("#{node}.inherits_properties?"), visible: false },
|
||||
available_on: { name: I18n.t("#{node}.available_on"), visible: false },
|
||||
import_date: { name: I18n.t("#{node}.import_date"), visible: false }
|
||||
}
|
||||
end
|
||||
|
||||
@@ -67,31 +67,4 @@ describe ProductComponent, type: :component do
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# This also covers import_date
|
||||
describe 'available_on' do
|
||||
let(:product) { create(:simple_product, available_on: available_on) }
|
||||
let(:available_on) { Time.zone.now }
|
||||
|
||||
before do
|
||||
render_inline(
|
||||
ProductComponent.new(
|
||||
product: product,
|
||||
columns: [{ label: "Available On", value: "available_on", sortable: false }]
|
||||
)
|
||||
)
|
||||
end
|
||||
|
||||
it 'returns formated available_on' do
|
||||
expect(page.find('.available_on')).to have_content(available_on.strftime('%F %T'))
|
||||
end
|
||||
|
||||
context 'when available_on is nil' do
|
||||
let(:available_on) { nil }
|
||||
|
||||
it 'returns an empty string' do
|
||||
expect(page.find('.available_on')).to have_content('')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -9,12 +9,10 @@ describe Api::V0::ProductsController, type: :controller do
|
||||
let(:supplier) { create(:supplier_enterprise) }
|
||||
let(:supplier2) { create(:supplier_enterprise) }
|
||||
let!(:product) { create(:product, supplier: supplier) }
|
||||
let!(:inactive_product) {
|
||||
create(:product, available_on: Time.zone.now.tomorrow, name: "inactive")
|
||||
}
|
||||
let!(:other_product) { create(:product) }
|
||||
let(:product_other_supplier) { create(:product, supplier: supplier2) }
|
||||
let(:product_with_image) { create(:product_with_image, supplier: supplier) }
|
||||
let(:all_attributes) { ["id", "name", "available_on", "variants"] }
|
||||
let(:all_attributes) { ["id", "name", "variants"] }
|
||||
let(:variants_attributes) {
|
||||
["id", "options_text", "unit_value", "unit_description", "unit_to_display", "on_demand",
|
||||
"display_as", "display_name", "name_to_display", "sku", "on_hand", "price"]
|
||||
@@ -45,13 +43,6 @@ describe Api::V0::ProductsController, type: :controller do
|
||||
} ).to eq(true)
|
||||
end
|
||||
|
||||
it "cannot see inactive products" do
|
||||
api_get :show, id: inactive_product.to_param
|
||||
|
||||
expect(json_response["error"]).to eq("The resource you were looking for could not be found.")
|
||||
expect(response.status).to eq(404)
|
||||
end
|
||||
|
||||
it "returns a 404 error when it cannot find a product" do
|
||||
api_get :show, id: "non-existant"
|
||||
|
||||
@@ -230,7 +221,7 @@ describe Api::V0::ProductsController, type: :controller do
|
||||
it "returns a list of products" do
|
||||
api_get :bulk_products, { page: 1, per_page: 15 }, format: :json
|
||||
expect(returned_product_ids).to eq [product4.id, product3.id, product2.id,
|
||||
inactive_product.id, product.id]
|
||||
other_product.id, product.id]
|
||||
end
|
||||
|
||||
it "returns pagination data" do
|
||||
@@ -250,13 +241,13 @@ describe Api::V0::ProductsController, type: :controller do
|
||||
expect(returned_product_ids).to eq [product4.id, product3.id]
|
||||
|
||||
api_get :bulk_products, { page: 2, per_page: 2 }, format: :json
|
||||
expect(returned_product_ids).to eq [product2.id, inactive_product.id]
|
||||
expect(returned_product_ids).to eq [product2.id, other_product.id]
|
||||
end
|
||||
|
||||
it "filters results by supplier" do
|
||||
api_get :bulk_products, { page: 1, per_page: 15, q: { supplier_id_eq: supplier.id } },
|
||||
format: :json
|
||||
expect(returned_product_ids).to eq [product2.id, inactive_product.id, product.id]
|
||||
expect(returned_product_ids).to eq [product2.id, other_product.id, product.id]
|
||||
end
|
||||
|
||||
it "filters results by product category" do
|
||||
|
||||
@@ -6,7 +6,6 @@ FactoryBot.define do
|
||||
description { generate(:random_description) }
|
||||
price { 19.99 }
|
||||
sku { 'ABC' }
|
||||
available_on { 1.year.ago }
|
||||
deleted_at { nil }
|
||||
|
||||
supplier { Enterprise.is_primary_producer.first || FactoryBot.create(:supplier_enterprise) }
|
||||
|
||||
242
spec/fixtures/files/sample_file_120_products.csv
vendored
242
spec/fixtures/files/sample_file_120_products.csv
vendored
@@ -1,121 +1,121 @@
|
||||
producer,sku,name,display_name,category,description,units,unit_type,variant_unit_name,price,on_hand,available_on,on_demand,shipping_category,tax_category
|
||||
User Enterprise,1,Imported Product 1,Orange Tree,Vegetables,,1,g,,2,100,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,2,Imported Product 2,Orange Tree,Vegetables,,2,g,,3,101,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,3,Imported Product 3,Orange Tree,Vegetables,,3,g,,4,102,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,4,Imported Product 4,Orange Tree,Vegetables,,4,g,,5,103,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,5,Imported Product 5,Orange Tree,Vegetables,,5,g,,6,104,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,6,Imported Product 6,Orange Tree,Vegetables,,6,g,,7,105,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,7,Imported Product 7,Orange Tree,Vegetables,,7,g,,8,106,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,8,Imported Product 8,Orange Tree,Vegetables,,8,g,,9,107,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,9,Imported Product 9,Orange Tree,Vegetables,,9,g,,10,108,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,10,Imported Product 10,Orange Tree,Vegetables,,10,g,,11,109,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,11,Imported Product 11,Orange Tree,Vegetables,,11,g,,12,110,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,12,Imported Product 12,Orange Tree,Vegetables,,12,g,,13,111,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,13,Imported Product 13,Orange Tree,Vegetables,,13,g,,14,112,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,14,Imported Product 14,Orange Tree,Vegetables,,14,g,,15,113,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,15,Imported Product 15,Orange Tree,Vegetables,,15,g,,16,114,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,16,Imported Product 16,Orange Tree,Vegetables,,16,g,,17,115,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,17,Imported Product 17,Orange Tree,Vegetables,,17,g,,18,116,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,18,Imported Product 18,Orange Tree,Vegetables,,18,g,,19,117,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,19,Imported Product 19,Orange Tree,Vegetables,,19,g,,20,118,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,20,Imported Product 20,Orange Tree,Vegetables,,20,g,,21,119,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,21,Imported Product 21,Orange Tree,Vegetables,,21,g,,22,120,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,22,Imported Product 22,Orange Tree,Vegetables,,22,g,,23,121,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,23,Imported Product 23,Orange Tree,Vegetables,,23,g,,24,122,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,24,Imported Product 24,Orange Tree,Vegetables,,24,g,,25,123,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,25,Imported Product 25,Orange Tree,Vegetables,,25,g,,26,124,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,26,Imported Product 26,Orange Tree,Vegetables,,26,g,,27,125,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,27,Imported Product 27,Orange Tree,Vegetables,,27,g,,28,126,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,28,Imported Product 28,Orange Tree,Vegetables,,28,g,,29,127,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,29,Imported Product 29,Orange Tree,Vegetables,,29,g,,30,128,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,30,Imported Product 30,Orange Tree,Vegetables,,30,g,,31,129,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,31,Imported Product 31,Orange Tree,Vegetables,,31,g,,32,130,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,32,Imported Product 32,Orange Tree,Vegetables,,32,g,,33,131,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,33,Imported Product 33,Orange Tree,Vegetables,,33,g,,34,132,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,34,Imported Product 34,Orange Tree,Vegetables,,34,g,,35,133,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,35,Imported Product 35,Orange Tree,Vegetables,,35,g,,36,134,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,36,Imported Product 36,Orange Tree,Vegetables,,36,g,,37,135,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,37,Imported Product 37,Orange Tree,Vegetables,,37,g,,38,136,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,38,Imported Product 38,Orange Tree,Vegetables,,38,g,,39,137,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,39,Imported Product 39,Orange Tree,Vegetables,,39,g,,40,138,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,40,Imported Product 40,Orange Tree,Vegetables,,40,g,,41,139,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,41,Imported Product 41,Orange Tree,Vegetables,,41,g,,42,140,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,42,Imported Product 42,Orange Tree,Vegetables,,42,g,,43,141,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,43,Imported Product 43,Orange Tree,Vegetables,,43,g,,44,142,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,44,Imported Product 44,Orange Tree,Vegetables,,44,g,,45,143,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,45,Imported Product 45,Orange Tree,Vegetables,,45,g,,46,144,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,46,Imported Product 46,Orange Tree,Vegetables,,46,g,,47,145,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,47,Imported Product 47,Orange Tree,Vegetables,,47,g,,48,146,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,48,Imported Product 48,Orange Tree,Vegetables,,48,g,,49,147,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,49,Imported Product 49,Orange Tree,Vegetables,,49,g,,50,148,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,50,Imported Product 50,Orange Tree,Vegetables,,50,g,,51,149,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,51,Imported Product 51,Orange Tree,Vegetables,,51,g,,52,150,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,52,Imported Product 52,Orange Tree,Vegetables,,52,g,,53,151,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,53,Imported Product 53,Orange Tree,Vegetables,,53,g,,54,152,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,54,Imported Product 54,Orange Tree,Vegetables,,54,g,,55,153,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,55,Imported Product 55,Orange Tree,Vegetables,,55,g,,56,154,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,56,Imported Product 56,Orange Tree,Vegetables,,56,g,,57,155,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,57,Imported Product 57,Orange Tree,Vegetables,,57,g,,58,156,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,58,Imported Product 58,Orange Tree,Vegetables,,58,g,,59,157,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,59,Imported Product 59,Orange Tree,Vegetables,,59,g,,60,158,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,60,Imported Product 60,Orange Tree,Vegetables,,60,g,,61,159,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,61,Imported Product 61,Orange Tree,Vegetables,,61,g,,62,160,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,62,Imported Product 62,Orange Tree,Vegetables,,62,g,,63,161,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,63,Imported Product 63,Orange Tree,Vegetables,,63,g,,64,162,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,64,Imported Product 64,Orange Tree,Vegetables,,64,g,,65,163,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,65,Imported Product 65,Orange Tree,Vegetables,,65,g,,66,164,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,66,Imported Product 66,Orange Tree,Vegetables,,66,g,,67,165,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,67,Imported Product 67,Orange Tree,Vegetables,,67,g,,68,166,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,68,Imported Product 68,Orange Tree,Vegetables,,68,g,,69,167,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,69,Imported Product 69,Orange Tree,Vegetables,,69,g,,70,168,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,70,Imported Product 70,Orange Tree,Vegetables,,70,g,,71,169,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,71,Imported Product 71,Orange Tree,Vegetables,,71,g,,72,170,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,72,Imported Product 72,Orange Tree,Vegetables,,72,g,,73,171,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,73,Imported Product 73,Orange Tree,Vegetables,,73,g,,74,172,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,74,Imported Product 74,Orange Tree,Vegetables,,74,g,,75,173,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,75,Imported Product 75,Orange Tree,Vegetables,,75,g,,76,174,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,76,Imported Product 76,Orange Tree,Vegetables,,76,g,,77,175,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,77,Imported Product 77,Orange Tree,Vegetables,,77,g,,78,176,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,78,Imported Product 78,Orange Tree,Vegetables,,78,g,,79,177,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,79,Imported Product 79,Orange Tree,Vegetables,,79,g,,80,178,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,80,Imported Product 80,Orange Tree,Vegetables,,80,g,,81,179,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,81,Imported Product 81,Orange Tree,Vegetables,,81,g,,82,180,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,82,Imported Product 82,Orange Tree,Vegetables,,82,g,,83,181,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,83,Imported Product 83,Orange Tree,Vegetables,,83,g,,84,182,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,84,Imported Product 84,Orange Tree,Vegetables,,84,g,,85,183,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,85,Imported Product 85,Orange Tree,Vegetables,,85,g,,86,184,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,86,Imported Product 86,Orange Tree,Vegetables,,86,g,,87,185,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,87,Imported Product 87,Orange Tree,Vegetables,,87,g,,88,186,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,88,Imported Product 88,Orange Tree,Vegetables,,88,g,,89,187,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,89,Imported Product 89,Orange Tree,Vegetables,,89,g,,90,188,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,90,Imported Product 90,Orange Tree,Vegetables,,90,g,,91,189,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,91,Imported Product 91,Orange Tree,Vegetables,,91,g,,92,190,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,92,Imported Product 92,Orange Tree,Vegetables,,92,g,,93,191,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,93,Imported Product 93,Orange Tree,Vegetables,,93,g,,94,192,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,94,Imported Product 94,Orange Tree,Vegetables,,94,g,,95,193,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,95,Imported Product 95,Orange Tree,Vegetables,,95,g,,96,194,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,96,Imported Product 96,Orange Tree,Vegetables,,96,g,,97,195,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,97,Imported Product 97,Orange Tree,Vegetables,,97,g,,98,196,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,98,Imported Product 98,Orange Tree,Vegetables,,98,g,,99,197,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,99,Imported Product 99,Orange Tree,Vegetables,,99,g,,100,198,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,100,Imported Product 100,Orange Tree,Vegetables,,100,g,,101,199,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,101,Imported Product 101,Orange Tree,Vegetables,,101,g,,102,200,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,102,Imported Product 102,Orange Tree,Vegetables,,102,g,,103,201,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,103,Imported Product 103,Orange Tree,Vegetables,,103,g,,104,202,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,104,Imported Product 104,Orange Tree,Vegetables,,104,g,,105,203,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,105,Imported Product 105,Orange Tree,Vegetables,,105,g,,106,204,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,106,Imported Product 106,Orange Tree,Vegetables,,106,g,,107,205,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,107,Imported Product 107,Orange Tree,Vegetables,,107,g,,108,206,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,108,Imported Product 108,Orange Tree,Vegetables,,108,g,,109,207,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,109,Imported Product 109,Orange Tree,Vegetables,,109,g,,110,208,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,110,Imported Product 110,Orange Tree,Vegetables,,110,g,,111,209,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,111,Imported Product 111,Orange Tree,Vegetables,,111,g,,112,210,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,112,Imported Product 112,Orange Tree,Vegetables,,112,g,,113,211,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,113,Imported Product 113,Orange Tree,Vegetables,,113,g,,114,212,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,114,Imported Product 114,Orange Tree,Vegetables,,114,g,,115,213,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,115,Imported Product 115,Orange Tree,Vegetables,,115,g,,116,214,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,116,Imported Product 116,Orange Tree,Vegetables,,116,g,,117,215,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,117,Imported Product 117,Orange Tree,Vegetables,,117,g,,118,216,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,118,Imported Product 118,Orange Tree,Vegetables,,118,g,,119,217,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,119,Imported Product 119,Orange Tree,Vegetables,,119,g,,120,218,,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,120,Imported Product 120,Orange Tree,Vegetables,,120,g,,121,219,,,Shipping Category Name,Tax Category Name
|
||||
producer,sku,name,display_name,category,description,units,unit_type,variant_unit_name,price,on_hand,on_demand,shipping_category,tax_category
|
||||
User Enterprise,1,Imported Product 1,Orange Tree,Vegetables,,1,g,,2,100,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,2,Imported Product 2,Orange Tree,Vegetables,,2,g,,3,101,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,3,Imported Product 3,Orange Tree,Vegetables,,3,g,,4,102,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,4,Imported Product 4,Orange Tree,Vegetables,,4,g,,5,103,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,5,Imported Product 5,Orange Tree,Vegetables,,5,g,,6,104,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,6,Imported Product 6,Orange Tree,Vegetables,,6,g,,7,105,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,7,Imported Product 7,Orange Tree,Vegetables,,7,g,,8,106,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,8,Imported Product 8,Orange Tree,Vegetables,,8,g,,9,107,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,9,Imported Product 9,Orange Tree,Vegetables,,9,g,,10,108,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,10,Imported Product 10,Orange Tree,Vegetables,,10,g,,11,109,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,11,Imported Product 11,Orange Tree,Vegetables,,11,g,,12,110,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,12,Imported Product 12,Orange Tree,Vegetables,,12,g,,13,111,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,13,Imported Product 13,Orange Tree,Vegetables,,13,g,,14,112,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,14,Imported Product 14,Orange Tree,Vegetables,,14,g,,15,113,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,15,Imported Product 15,Orange Tree,Vegetables,,15,g,,16,114,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,16,Imported Product 16,Orange Tree,Vegetables,,16,g,,17,115,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,17,Imported Product 17,Orange Tree,Vegetables,,17,g,,18,116,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,18,Imported Product 18,Orange Tree,Vegetables,,18,g,,19,117,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,19,Imported Product 19,Orange Tree,Vegetables,,19,g,,20,118,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,20,Imported Product 20,Orange Tree,Vegetables,,20,g,,21,119,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,21,Imported Product 21,Orange Tree,Vegetables,,21,g,,22,120,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,22,Imported Product 22,Orange Tree,Vegetables,,22,g,,23,121,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,23,Imported Product 23,Orange Tree,Vegetables,,23,g,,24,122,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,24,Imported Product 24,Orange Tree,Vegetables,,24,g,,25,123,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,25,Imported Product 25,Orange Tree,Vegetables,,25,g,,26,124,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,26,Imported Product 26,Orange Tree,Vegetables,,26,g,,27,125,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,27,Imported Product 27,Orange Tree,Vegetables,,27,g,,28,126,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,28,Imported Product 28,Orange Tree,Vegetables,,28,g,,29,127,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,29,Imported Product 29,Orange Tree,Vegetables,,29,g,,30,128,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,30,Imported Product 30,Orange Tree,Vegetables,,30,g,,31,129,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,31,Imported Product 31,Orange Tree,Vegetables,,31,g,,32,130,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,32,Imported Product 32,Orange Tree,Vegetables,,32,g,,33,131,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,33,Imported Product 33,Orange Tree,Vegetables,,33,g,,34,132,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,34,Imported Product 34,Orange Tree,Vegetables,,34,g,,35,133,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,35,Imported Product 35,Orange Tree,Vegetables,,35,g,,36,134,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,36,Imported Product 36,Orange Tree,Vegetables,,36,g,,37,135,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,37,Imported Product 37,Orange Tree,Vegetables,,37,g,,38,136,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,38,Imported Product 38,Orange Tree,Vegetables,,38,g,,39,137,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,39,Imported Product 39,Orange Tree,Vegetables,,39,g,,40,138,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,40,Imported Product 40,Orange Tree,Vegetables,,40,g,,41,139,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,41,Imported Product 41,Orange Tree,Vegetables,,41,g,,42,140,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,42,Imported Product 42,Orange Tree,Vegetables,,42,g,,43,141,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,43,Imported Product 43,Orange Tree,Vegetables,,43,g,,44,142,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,44,Imported Product 44,Orange Tree,Vegetables,,44,g,,45,143,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,45,Imported Product 45,Orange Tree,Vegetables,,45,g,,46,144,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,46,Imported Product 46,Orange Tree,Vegetables,,46,g,,47,145,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,47,Imported Product 47,Orange Tree,Vegetables,,47,g,,48,146,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,48,Imported Product 48,Orange Tree,Vegetables,,48,g,,49,147,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,49,Imported Product 49,Orange Tree,Vegetables,,49,g,,50,148,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,50,Imported Product 50,Orange Tree,Vegetables,,50,g,,51,149,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,51,Imported Product 51,Orange Tree,Vegetables,,51,g,,52,150,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,52,Imported Product 52,Orange Tree,Vegetables,,52,g,,53,151,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,53,Imported Product 53,Orange Tree,Vegetables,,53,g,,54,152,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,54,Imported Product 54,Orange Tree,Vegetables,,54,g,,55,153,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,55,Imported Product 55,Orange Tree,Vegetables,,55,g,,56,154,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,56,Imported Product 56,Orange Tree,Vegetables,,56,g,,57,155,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,57,Imported Product 57,Orange Tree,Vegetables,,57,g,,58,156,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,58,Imported Product 58,Orange Tree,Vegetables,,58,g,,59,157,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,59,Imported Product 59,Orange Tree,Vegetables,,59,g,,60,158,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,60,Imported Product 60,Orange Tree,Vegetables,,60,g,,61,159,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,61,Imported Product 61,Orange Tree,Vegetables,,61,g,,62,160,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,62,Imported Product 62,Orange Tree,Vegetables,,62,g,,63,161,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,63,Imported Product 63,Orange Tree,Vegetables,,63,g,,64,162,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,64,Imported Product 64,Orange Tree,Vegetables,,64,g,,65,163,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,65,Imported Product 65,Orange Tree,Vegetables,,65,g,,66,164,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,66,Imported Product 66,Orange Tree,Vegetables,,66,g,,67,165,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,67,Imported Product 67,Orange Tree,Vegetables,,67,g,,68,166,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,68,Imported Product 68,Orange Tree,Vegetables,,68,g,,69,167,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,69,Imported Product 69,Orange Tree,Vegetables,,69,g,,70,168,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,70,Imported Product 70,Orange Tree,Vegetables,,70,g,,71,169,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,71,Imported Product 71,Orange Tree,Vegetables,,71,g,,72,170,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,72,Imported Product 72,Orange Tree,Vegetables,,72,g,,73,171,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,73,Imported Product 73,Orange Tree,Vegetables,,73,g,,74,172,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,74,Imported Product 74,Orange Tree,Vegetables,,74,g,,75,173,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,75,Imported Product 75,Orange Tree,Vegetables,,75,g,,76,174,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,76,Imported Product 76,Orange Tree,Vegetables,,76,g,,77,175,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,77,Imported Product 77,Orange Tree,Vegetables,,77,g,,78,176,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,78,Imported Product 78,Orange Tree,Vegetables,,78,g,,79,177,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,79,Imported Product 79,Orange Tree,Vegetables,,79,g,,80,178,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,80,Imported Product 80,Orange Tree,Vegetables,,80,g,,81,179,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,81,Imported Product 81,Orange Tree,Vegetables,,81,g,,82,180,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,82,Imported Product 82,Orange Tree,Vegetables,,82,g,,83,181,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,83,Imported Product 83,Orange Tree,Vegetables,,83,g,,84,182,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,84,Imported Product 84,Orange Tree,Vegetables,,84,g,,85,183,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,85,Imported Product 85,Orange Tree,Vegetables,,85,g,,86,184,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,86,Imported Product 86,Orange Tree,Vegetables,,86,g,,87,185,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,87,Imported Product 87,Orange Tree,Vegetables,,87,g,,88,186,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,88,Imported Product 88,Orange Tree,Vegetables,,88,g,,89,187,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,89,Imported Product 89,Orange Tree,Vegetables,,89,g,,90,188,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,90,Imported Product 90,Orange Tree,Vegetables,,90,g,,91,189,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,91,Imported Product 91,Orange Tree,Vegetables,,91,g,,92,190,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,92,Imported Product 92,Orange Tree,Vegetables,,92,g,,93,191,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,93,Imported Product 93,Orange Tree,Vegetables,,93,g,,94,192,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,94,Imported Product 94,Orange Tree,Vegetables,,94,g,,95,193,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,95,Imported Product 95,Orange Tree,Vegetables,,95,g,,96,194,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,96,Imported Product 96,Orange Tree,Vegetables,,96,g,,97,195,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,97,Imported Product 97,Orange Tree,Vegetables,,97,g,,98,196,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,98,Imported Product 98,Orange Tree,Vegetables,,98,g,,99,197,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,99,Imported Product 99,Orange Tree,Vegetables,,99,g,,100,198,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,100,Imported Product 100,Orange Tree,Vegetables,,100,g,,101,199,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,101,Imported Product 101,Orange Tree,Vegetables,,101,g,,102,200,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,102,Imported Product 102,Orange Tree,Vegetables,,102,g,,103,201,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,103,Imported Product 103,Orange Tree,Vegetables,,103,g,,104,202,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,104,Imported Product 104,Orange Tree,Vegetables,,104,g,,105,203,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,105,Imported Product 105,Orange Tree,Vegetables,,105,g,,106,204,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,106,Imported Product 106,Orange Tree,Vegetables,,106,g,,107,205,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,107,Imported Product 107,Orange Tree,Vegetables,,107,g,,108,206,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,108,Imported Product 108,Orange Tree,Vegetables,,108,g,,109,207,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,109,Imported Product 109,Orange Tree,Vegetables,,109,g,,110,208,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,110,Imported Product 110,Orange Tree,Vegetables,,110,g,,111,209,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,111,Imported Product 111,Orange Tree,Vegetables,,111,g,,112,210,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,112,Imported Product 112,Orange Tree,Vegetables,,112,g,,113,211,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,113,Imported Product 113,Orange Tree,Vegetables,,113,g,,114,212,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,114,Imported Product 114,Orange Tree,Vegetables,,114,g,,115,213,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,115,Imported Product 115,Orange Tree,Vegetables,,115,g,,116,214,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,116,Imported Product 116,Orange Tree,Vegetables,,116,g,,117,215,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,117,Imported Product 117,Orange Tree,Vegetables,,117,g,,118,216,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,118,Imported Product 118,Orange Tree,Vegetables,,118,g,,119,217,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,119,Imported Product 119,Orange Tree,Vegetables,,119,g,,120,218,,Shipping Category Name,Tax Category Name
|
||||
User Enterprise,120,Imported Product 120,Orange Tree,Vegetables,,120,g,,121,219,,Shipping Category Name,Tax Category Name
|
||||
|
||||
|
@@ -167,8 +167,6 @@ describe "filtering products for submission to database", ->
|
||||
]
|
||||
|
||||
it "returns stock properties of a product if no variant is provided", ->
|
||||
available_on = new Date()
|
||||
|
||||
testProduct =
|
||||
id: 1
|
||||
name: "TestProduct"
|
||||
@@ -183,13 +181,10 @@ describe "filtering products for submission to database", ->
|
||||
]
|
||||
|
||||
it "only returns the properties of products which ought to be updated", ->
|
||||
available_on = new Date()
|
||||
|
||||
testProduct =
|
||||
id: 1
|
||||
name: "TestProduct"
|
||||
description: ""
|
||||
available_on: available_on
|
||||
deleted_at: null
|
||||
meta_keywords: null
|
||||
tax_category_id: null
|
||||
@@ -226,7 +221,6 @@ describe "filtering products for submission to database", ->
|
||||
variant_unit: 'volume'
|
||||
variant_unit_scale: 1
|
||||
variant_unit_name: 'loaf'
|
||||
available_on: available_on
|
||||
tax_category_id: null
|
||||
master_attributes:
|
||||
id: 2
|
||||
@@ -978,12 +972,10 @@ describe "AdminProductEditCtrl", ->
|
||||
testProduct = testVariant = null
|
||||
|
||||
beforeEach ->
|
||||
available_on = new Date()
|
||||
testProduct =
|
||||
id: 1
|
||||
name: "TestProduct"
|
||||
description: ""
|
||||
available_on: available_on
|
||||
deleted_at: null
|
||||
meta_keywords: null
|
||||
tax_category_id: null
|
||||
|
||||
@@ -194,13 +194,6 @@ module Spree
|
||||
expect(build(:simple_product, supplier: nil)).not_to be_valid
|
||||
end
|
||||
|
||||
it "defaults available_on to now" do
|
||||
Timecop.freeze do
|
||||
product = Product.new
|
||||
expect(product.available_on).to be_within(0.000001).of(Time.zone.now)
|
||||
end
|
||||
end
|
||||
|
||||
describe "tax category" do
|
||||
context "when a tax category is required" do
|
||||
it "is invalid when a tax category is not provided" do
|
||||
|
||||
@@ -46,17 +46,6 @@ describe '
|
||||
selected: s3.name
|
||||
end
|
||||
|
||||
it "displays a date input for available_on for each product, formatted to yyyy-mm-dd hh:mm:ss" do
|
||||
p1 = FactoryBot.create(:product, available_on: Date.current)
|
||||
p2 = FactoryBot.create(:product, available_on: Date.current - 1)
|
||||
|
||||
visit spree.admin_products_path
|
||||
toggle_columns "Available On"
|
||||
|
||||
expect(page).to have_field "available_on", with: p1.available_on.strftime("%F %T")
|
||||
expect(page).to have_field "available_on", with: p2.available_on.strftime("%F %T")
|
||||
end
|
||||
|
||||
it "displays an on hand count in a span for each product" do
|
||||
p1 = FactoryBot.create(:product)
|
||||
v1 = p1.variants.first
|
||||
@@ -340,18 +329,17 @@ describe '
|
||||
s2 = FactoryBot.create(:supplier_enterprise)
|
||||
t1 = FactoryBot.create(:taxon)
|
||||
t2 = FactoryBot.create(:taxon)
|
||||
p = FactoryBot.create(:product, supplier: s1, available_on: Date.current,
|
||||
p = FactoryBot.create(:product, supplier: s1,
|
||||
variant_unit: 'volume', variant_unit_scale: 1, primary_taxon: t2, sku: "OLD SKU")
|
||||
|
||||
login_as_admin
|
||||
visit spree.admin_products_path
|
||||
|
||||
toggle_columns "Available On", /^Category?/i, "Inherits Properties?", "SKU"
|
||||
toggle_columns /^Category?/i, "Inherits Properties?", "SKU"
|
||||
|
||||
within "tr#p_#{p.id}" do
|
||||
expect(page).to have_field "product_name", with: p.name
|
||||
expect(page).to have_select "producer_id", selected: s1.name
|
||||
expect(page).to have_field "available_on", with: p.available_on.strftime("%F %T")
|
||||
expect(page).to have_select2 "p#{p.id}_category_id", selected: t2.name
|
||||
expect(page).to have_select "variant_unit_with_scale", selected: "Volume (L)"
|
||||
expect(page).to have_checked_field "inherits_properties"
|
||||
@@ -359,7 +347,6 @@ describe '
|
||||
|
||||
fill_in "product_name", with: "Big Bag Of Potatoes"
|
||||
select s2.name, from: 'producer_id'
|
||||
fill_in "available_on", with: 3.days.ago.beginning_of_day.strftime("%F %T")
|
||||
select "Weight (kg)", from: "variant_unit_with_scale"
|
||||
select2_select t1.name, from: "p#{p.id}_category_id"
|
||||
uncheck "inherits_properties"
|
||||
@@ -374,7 +361,6 @@ describe '
|
||||
expect(p.supplier).to eq s2
|
||||
expect(p.variant_unit).to eq "weight"
|
||||
expect(p.variant_unit_scale).to eq 1000 # Kg
|
||||
expect(p.available_on).to eq 3.days.ago.beginning_of_day
|
||||
expect(p.primary_taxon.permalink).to eq t1.permalink
|
||||
expect(p.inherits_properties).to be false
|
||||
expect(p.sku).to eq "NEW SKU"
|
||||
@@ -403,7 +389,7 @@ describe '
|
||||
it "updating a product with variants" do
|
||||
s1 = create(:supplier_enterprise)
|
||||
s2 = create(:supplier_enterprise)
|
||||
p = create(:product, supplier: s1, available_on: Date.current, variant_unit: 'volume', variant_unit_scale: 0.001,
|
||||
p = create(:product, supplier: s1, variant_unit: 'volume', variant_unit_scale: 0.001,
|
||||
price: 3.0, unit_value: 0.25, unit_description: '(bottle)' )
|
||||
v = p.variants.first
|
||||
v.update_attribute(:sku, "VARIANTSKU")
|
||||
@@ -709,13 +695,10 @@ describe '
|
||||
login_as_admin
|
||||
visit spree.admin_products_path
|
||||
|
||||
toggle_columns "Available On"
|
||||
|
||||
expect(page).to have_selector "th", text: "NAME"
|
||||
expect(page).to have_selector "th", text: "PRODUCER"
|
||||
expect(page).to have_selector "th", text: "PRICE"
|
||||
expect(page).to have_selector "th", text: "ON HAND"
|
||||
expect(page).to have_selector "th", text: "AV. ON"
|
||||
|
||||
toggle_columns /^.{0,1}Producer$/i
|
||||
|
||||
@@ -723,7 +706,6 @@ describe '
|
||||
expect(page).to have_selector "th", text: "NAME"
|
||||
expect(page).to have_selector "th", text: "PRICE"
|
||||
expect(page).to have_selector "th", text: "ON HAND"
|
||||
expect(page).to have_selector "th", text: "AV. ON"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -777,7 +759,7 @@ describe '
|
||||
create(:product, name: 'Product Permitted', supplier: supplier_permitted, price: 10.0)
|
||||
}
|
||||
let(:product_supplied_inactive) {
|
||||
create(:product, supplier: supplier_managed1, price: 10.0, available_on: 1.week.from_now)
|
||||
create(:product, supplier: supplier_managed1, price: 10.0)
|
||||
}
|
||||
|
||||
let!(:supplier_permitted_relationship) do
|
||||
@@ -852,17 +834,13 @@ describe '
|
||||
v.update_attribute(:on_demand, false)
|
||||
|
||||
visit spree.admin_products_path
|
||||
toggle_columns "Available On"
|
||||
|
||||
within "tr#p_#{p.id}" do
|
||||
expect(page).to have_field "product_name", with: p.name
|
||||
expect(page).to have_select "producer_id", selected: supplier_permitted.name
|
||||
expect(page).to have_field "available_on", with: p.available_on.strftime("%F %T")
|
||||
|
||||
fill_in "product_name", with: "Big Bag Of Potatoes"
|
||||
select supplier_managed2.name, from: 'producer_id'
|
||||
fill_in "available_on", with: 3.days.ago.beginning_of_day.strftime("%F %T"),
|
||||
fill_options: { clear: :backspace }
|
||||
select "Weight (kg)", from: "variant_unit_with_scale"
|
||||
|
||||
find("a.view-variants").click
|
||||
@@ -883,7 +861,6 @@ describe '
|
||||
expect(p.supplier).to eq supplier_managed2
|
||||
expect(p.variant_unit).to eq "weight"
|
||||
expect(p.variant_unit_scale).to eq 1000 # Kg
|
||||
expect(p.available_on).to eq 3.days.ago.beginning_of_day
|
||||
expect(v.display_as).to eq "Big Bag"
|
||||
expect(v.price).to eq 20.0
|
||||
expect(v.on_hand).to eq 18
|
||||
|
||||
Reference in New Issue
Block a user