M12b: category contract v2 on the server (schema 2, fourteen defaults, finer import mapping)
- migrations/0002_categories_v2.sql, byte-identical to contracts/schema/migrations/0002_categories_v2.sql (SPEC §14.1.1), with an identity test; SCHEMA_VERSION = 2 (E-1 reports it, the importer's check follows). - Seed test on a fresh database (the fourteen rows of AC-7.2, server_version 11 to 14) and an upgrade test of a v1 database in use (0001 applied through the migrator, then users, a custom, a renamed and an archived default, an account, a recurring template, expenses): every earlier row unchanged, the four rows above the old sequence, foreign_key_check empty, schema_version 2, a pull from the old cursor returns exactly the four rows. - DefaultCategoryKey with the fourteen keys (wire enum and contracts/openapi.yaml); icons 33 and colours 14 (§9.7) in validation. - The two category examples M12a held back (E-26 response-default, sync/pull-page-categories-v2) and its contracts-check patch for them and the enum. - Importer: splitwise_categories.csv per the §10.8 v0.8 table (D-053), DEFAULT_KEYS of fourteen, synthetic fixtures for the finer mapping (Insurance/Försäkringar to insurance among them), a schema-1 refusal test. - Test harnesses seed users at server_version 15/16 (after the fourteen seeds); pull counts 10 -> 14. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TQd3pEP9UeN2uifbHknQ7B
This commit is contained in:
@@ -3,12 +3,12 @@ Groceries,en,groceries
|
||||
Food and drink - Other,en,groceries
|
||||
Liquor,en,groceries
|
||||
Dining out,en,restaurants
|
||||
Rent,en,housing
|
||||
Mortgage,en,housing
|
||||
Electronics,en,home
|
||||
Furniture,en,home
|
||||
Household supplies,en,home
|
||||
Maintenance,en,home
|
||||
Mortgage,en,home
|
||||
Rent,en,home
|
||||
Services,en,home
|
||||
Pets,en,home
|
||||
Home - Other,en,home
|
||||
@@ -19,6 +19,7 @@ Trash,en,utilities
|
||||
TV/Phone/Internet,en,utilities
|
||||
Cleaning,en,utilities
|
||||
Utilities - Other,en,utilities
|
||||
Insurance,en,insurance
|
||||
Bicycle,en,transport
|
||||
Bus/train,en,transport
|
||||
Car,en,transport
|
||||
@@ -34,30 +35,35 @@ Music,en,entertainment
|
||||
Sports,en,entertainment
|
||||
Entertainment - Other,en,entertainment
|
||||
Medical expenses,en,health
|
||||
Childcare,en,children
|
||||
Clothing,en,shopping
|
||||
Gifts,en,shopping
|
||||
Taxes,en,fees
|
||||
General,en,other
|
||||
Childcare,en,other
|
||||
Education,en,other
|
||||
Insurance,en,other
|
||||
Taxes,en,other
|
||||
Life - Other,en,other
|
||||
Other,en,other
|
||||
Livsmedel,sv,groceries
|
||||
Mat och dryck - Övrigt,sv,groceries
|
||||
Alkohol,sv,groceries
|
||||
Restaurangbesök,sv,restaurants
|
||||
Hyra,sv,housing
|
||||
Avbetalning/Amortering,sv,housing
|
||||
Elektronik,sv,home
|
||||
Möbler,sv,home
|
||||
Förbrukningsvaror,sv,home
|
||||
Skötsel/underhåll,sv,home
|
||||
Avbetalning/Amortering,sv,home
|
||||
Hyra,sv,home
|
||||
Tjänster,sv,home
|
||||
Husdjur,sv,home
|
||||
Hem - Övrigt,sv,home
|
||||
El,sv,utilities
|
||||
Värme/gas,sv,utilities
|
||||
Vatten,sv,utilities
|
||||
Sophämtning,sv,utilities
|
||||
TV/telefon/internet,sv,utilities
|
||||
Städning,sv,utilities
|
||||
Verktyg - Övrigt,sv,utilities
|
||||
Försäkringar,sv,insurance
|
||||
Cykel,sv,transport
|
||||
Buss/tåg,sv,transport
|
||||
Bil,sv,transport
|
||||
@@ -68,16 +74,15 @@ Transport - Övrigt,sv,transport
|
||||
Hotell,sv,travel
|
||||
Flyg,sv,travel
|
||||
Spel,sv,entertainment
|
||||
Musik,sv,entertainment
|
||||
Filmer,sv,entertainment
|
||||
Musik,sv,entertainment
|
||||
Sport,sv,entertainment
|
||||
Underhållning - Övrigt,sv,entertainment
|
||||
Sjukvård/medicin,sv,health
|
||||
Presenter,sv,shopping
|
||||
Barnomsorg,sv,children
|
||||
Kläder,sv,shopping
|
||||
Presenter,sv,shopping
|
||||
Skatter,sv,fees
|
||||
Allmänt,sv,other
|
||||
Barnomsorg,sv,other
|
||||
Utbildning,sv,other
|
||||
Försäkringar,sv,other
|
||||
Skatter,sv,other
|
||||
Livet - Övrigt,sv,other
|
||||
|
||||
|
Reference in New Issue
Block a user