Skip to content
Testaroo
csv1.2 KB

Harbour Kitchen Group: Till import with a duplicate item code

Till import with a duplicate item code for Harbour Kitchen Group. Intentionally invalid. 22 rows where pos-import.csv has 21. item_code MENU-02 appears on line 3 at 19.50 CAD and again on line 23 at 20.50 CAD, which is the proposed price in the shared menu_price_changes table. It is the only repeated code in the file, so an importer that keeps the last row it reads silently ships the later price.

Preview, first 24 linescsv
item_code,item_name,category,price,tax_code,modifier_group
MENU-01,House burger,Burgers,18.50,GST5,MG-MENU-01
MENU-02,Chicken burger,Burgers,19.50,GST5,MG-MENU-02
MENU-03,Loaded fries,Sides and salads,11.50,GST5,MG-MENU-03
MENU-04,Tomato salad,Sides and salads,12.00,GST5,MG-MENU-04
MOD-01,Extra portion,Modifier,2.50,GST5,MG-MENU-01
MOD-02,Takeaway packaging,Modifier,0.50,GST5,MG-MENU-01
MOD-03,Extra portion,Modifier,2.50,GST5,MG-MENU-02
MOD-04,Takeaway packaging,Modifier,0.50,GST5,MG-MENU-02
MOD-05,Extra portion,Modifier,2.50,GST5,MG-MENU-03
MOD-06,Takeaway packaging,Modifier,0.50,GST5,MG-MENU-03
MOD-07,Extra portion,Modifier,2.50,GST5,MG-MENU-04
MOD-08,Takeaway packaging,Modifier,0.50,GST5,MG-MENU-04
DRK-01G,"House white, 150 ml",By the glass,7.25,GST5,
DRK-02G,"House red, 150 ml",By the glass,7.75,GST5,
DRK-03G,"Sparkling water, 200 ml",By the glass,1.75,GST5,
DRK-04G,"Ale à la pression, 473 ml",By the glass,8.75,GST5,
DRK-01B,"House white, 750 ml",By the bottle,36.00,GST5,
DRK-02B,"House red, 750 ml",By the bottle,38.00,GST5,
DRK-03B,"Sparkling water, 1000 ml",By the bottle,8.00,GST5,
DRK-05B,"Craft IPA, 473 ml",By the bottle,9.50,GST5,
GIFT-25,Gift card 25,Stored value,25.00,EXEMPT,
MENU-02,Chicken burger,Burgers,20.50,GST5,MG-MENU-02

Specifications

Kit
restaurant-group
Industry
food-service
Schema Version
1
Synthetic
true
As Of
2026-09-08
Currency
CAD
Menu Items
4
Rows
22
Columns
6
Intentionally Invalid
true
Defect
duplicate-item-code
Duplicate Item Code
MENU-02
First Line
3
Second Line
23
Delimiter
,
Encoding
UTF-8
Line Endings
LF

Testing contract

Expected to fail
Scenario
Use till import with a duplicate item code in the Harbour Kitchen Group menu, allergen and till import workflow.
Expected result
Intentionally invalid. 22 rows where pos-import.csv has 21. item_code MENU-02 appears on line 3 at 19.50 CAD and again on line 23 at 20.50 CAD, which is the proposed price in the shared menu_price_changes table. It is the only repeated code in the file, so an importer that keeps the last row it reads silently ships the later price.

What is a .csv file?

CSV (Comma-Separated Values) is a plain-text tabular format where rows are lines and fields are separated by commas, with quoting rules for values that contain delimiters, quotes, or newlines. It has no formal type system and depends on encoding and dialect conventions. It is the most portable format for tabular data exchange.

How to use this file

Use an example CSV to test parsers against quoting and embedded-delimiter edge cases, header handling, encoding detection, and import pipelines into databases or spreadsheets.

How to use this file for testing

“Harbour Kitchen Group: Till import with a duplicate item code” is a deterministic Testaroo fixture for Data import, Error handling, CSV parsing. Realistic faker-generated datasets with documented schemas for testing import and ETL flows.

Documented properties for this file: 22 rows · 6 columns · UTF-8 · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.

Data fixtures document their exact quirks (delimiters, encodings, null handling, schema, and row counts) in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.

Code examples

import pandas as pd

df = pd.read_csv("pos-import-duplicate-code.csv")
print(df.head())
print(df.dtypes)

Generated by generation/restaurant_menus.py. Free for any use, no attribution required, license.