Realistic demo data for performance testing #2361

Merged
zachgoll merged 4 commits from zachgoll/more-realistic-demo-data-generator-for-performance-testing into main 2025-06-12 06:48:39 +08:00
zachgoll commented 2025-06-12 04:58:57 +08:00 (Migrated from github.com)

Demo data was not very realistic before and made it hard to do any sort of performance work locally. Since our DB data is sensitive, this approach helps us avoid having to scrub PII from prod data to pull down locally for this sort of testing.

Demo data was not very realistic before and made it hard to do any sort of performance work locally. Since our DB data is sensitive, this approach helps us avoid having to scrub PII from prod data to pull down locally for this sort of testing.
cursor[bot] (Migrated from github.com) reviewed 2025-06-12 05:02:25 +08:00
cursor[bot] (Migrated from github.com) left a comment

Bug: Invalid Nested Attributes in Entry Creation

The create_transaction! and create_trade! methods in Demo::TransactionGenerator attempt to create polymorphic Entry associations using entryable_attributes. This is not a standard Rails parameter for Entry.create! and will cause a runtime error, as the Entry model is not configured to accept nested attributes in this manner.

app/models/demo/transaction_generator.rb#L17-L23

87bd3734f4/app/models/demo/transaction_generator.rb (L17-L23)

Fix in Cursor


Bug: Bulk Duplication Fails Due to Parent ID Mismatch

During bulk category duplication, the parent_id is copied directly from the template category. This leads to foreign key constraint violations or orphaned categories because the template parent_id does not exist in the newly created family.

app/models/demo/scenarios/performance_testing.rb#L213-L214

87bd3734f4/app/models/demo/scenarios/performance_testing.rb (L213-L214)

Fix in Cursor


Bug: Email Collision in Bulk Family Creation

The PerformanceTesting scenario's bulk family creation (create_family_copies method) causes an email collision and inconsistent numbering for duplicated users. The template family uses emails like 'user@maybe.local'. The duplication loop starts i from 2, and the email generation logic user#{i == 2 ? "" : i}@maybe.local incorrectly assigns 'user@maybe.local' to the first duplicated family (when i=2). This conflicts with the template family's users, leading to unique constraint violations and an inconsistent numbering pattern where only families from i=3 onwards are sequentially numbered (e.g., 'user3@maybe.local').

app/models/demo/scenarios/performance_testing.rb#L129-L144

87bd3734f4/app/models/demo/scenarios/performance_testing.rb (L129-L144)

Fix in Cursor


Was this report helpful? Give feedback by reacting with 👍 or 👎

<details open> <summary><h3>Bug: Invalid Nested Attributes in Entry Creation</h3></summary> The `create_transaction!` and `create_trade!` methods in `Demo::TransactionGenerator` attempt to create polymorphic `Entry` associations using `entryable_attributes`. This is not a standard Rails parameter for `Entry.create!` and will cause a runtime error, as the `Entry` model is not configured to accept nested attributes in this manner. <p></p> <details> <summary><code>app/models/demo/transaction_generator.rb#L17-L23</code></summary> https://github.com/maybe-finance/maybe/blob/87bd3734f4368a19758c36a3832533552556ab76/app/models/demo/transaction_generator.rb#L17-L23 </details> <a href="https://cursor.com/open?data=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJ1Z2JvdC12MSJ9.eyJ0eXBlIjoiQlVHQk9UX0ZJWF9JTl9DVVJTT1IiLCJkYXRhIjp7ImJ1ZyI6ImV5SnNiMk5oZEdsdmJuTWlPbHQ3SW1acGJHVWlPaUpoY0hBdmJXOWtaV3h6TDJSbGJXOHZkSEpoYm5OaFkzUnBiMjVmWjJWdVpYSmhkRzl5TG5KaUlpd2ljM1JoY25STWFXNWxJam94Tnl3aVpXNWtUR2x1WlNJNk1qTXNJbU52WkdWTWFXNWxjeUk2VzExOVhTd2lhV1FpT2lJeU1XSTNabVpqWlMwd05USXdMVFJoTlRjdFltWmpaQzA1TWprNVptRXdOekZtTXpZaUxDSmtaWE5qY21sd2RHbHZiaUk2SWxSb1pTQmdZM0psWVhSbFgzUnlZVzV6WVdOMGFXOXVJV0FnWVc1a0lHQmpjbVZoZEdWZmRISmhaR1VoWUNCdFpYUm9iMlJ6SUdsdUlHQkVaVzF2T2pwVWNtRnVjMkZqZEdsdmJrZGxibVZ5WVhSdmNtQWdZWFIwWlcxd2RDQjBieUJqY21WaGRHVWdjRzlzZVcxdmNuQm9hV01nWUVWdWRISjVZQ0JoYzNOdlkybGhkR2x2Ym5NZ2RYTnBibWNnWUdWdWRISjVZV0pzWlY5aGRIUnlhV0oxZEdWellDNGdWR2hwY3lCcGN5QnViM1FnWVNCemRHRnVaR0Z5WkNCU1lXbHNjeUJ3WVhKaGJXVjBaWElnWm05eUlHQkZiblJ5ZVM1amNtVmhkR1VoWUNCaGJtUWdkMmxzYkNCallYVnpaU0JoSUhKMWJuUnBiV1VnWlhKeWIzSXNJR0Z6SUhSb1pTQmdSVzUwY25sZ0lHMXZaR1ZzSUdseklHNXZkQ0JqYjI1bWFXZDFjbVZrSUhSdklHRmpZMlZ3ZENCdVpYTjBaV1FnWVhSMGNtbGlkWFJsY3lCcGJpQjBhR2x6SUcxaGJtNWxjaTRpTENKamIyNW1hV1JsYm1ObElqb3dMalE1TVRZMk9URTJNemsxT0RZeU9ERTBMQ0pqWVhSbFoyOXllU0k2SWt4UFIwbERYMEpWUnlKOSIsImJyYW5jaCI6InphY2hnb2xsL21vcmUtcmVhbGlzdGljLWRlbW8tZGF0YS1nZW5lcmF0b3ItZm9yLXBlcmZvcm1hbmNlLXRlc3RpbmcifSwiaWF0IjoxNzQ5Njc1NzQ1LCJleHAiOjE3NTAyODA1NDV9.LPLGpK_py8LhXDjP8_EXlCxEnq83q1K7sLFlmoUzHlIgv0Bx73kCIHA1dp5eBfFzy194I782lPM1oa5qeK2-BS0erncaYI91x4zCoMUpnZHGyMw6pcfjO4AnFO9jFUYPPvyQPv-axRMELrqdmc1A8TlAGylZvUvwmZSqP46C1ZDUBYTdopQ68aWR226xPoGlhbK9bRevKQ2SahDV52TsUmNaPZUVtAhCnCD6bLwnA8lSJ8mr8AjS5cgLXk2iNvh-xVkwvt5FB9tvAOVzq2z52EEbbDM5wqyQQDv_7q_PMnQ6STQQoSAs4kBN_WYQV-6S-Bra7ktFKwopyecELatUoQ">Fix in Cursor</a> </details> --- <details open> <summary><h3>Bug: Bulk Duplication Fails Due to Parent ID Mismatch</h3></summary> During bulk category duplication, the `parent_id` is copied directly from the template category. This leads to foreign key constraint violations or orphaned categories because the template `parent_id` does not exist in the newly created family. <p></p> <details> <summary><code>app/models/demo/scenarios/performance_testing.rb#L213-L214</code></summary> https://github.com/maybe-finance/maybe/blob/87bd3734f4368a19758c36a3832533552556ab76/app/models/demo/scenarios/performance_testing.rb#L213-L214 </details> <a href="https://cursor.com/open?data=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJ1Z2JvdC12MSJ9.eyJ0eXBlIjoiQlVHQk9UX0ZJWF9JTl9DVVJTT1IiLCJkYXRhIjp7ImJ1ZyI6ImV5SnNiMk5oZEdsdmJuTWlPbHQ3SW1acGJHVWlPaUpoY0hBdmJXOWtaV3h6TDJSbGJXOHZjMk5sYm1GeWFXOXpMM0JsY21admNtMWhibU5sWDNSbGMzUnBibWN1Y21JaUxDSnpkR0Z5ZEV4cGJtVWlPakl4TXl3aVpXNWtUR2x1WlNJNk1qRTBMQ0pqYjJSbFRHbHVaWE1pT2x0ZGZWMHNJbWxrSWpvaVlUQm1ZemRtT1RFdE56UTVaUzAwWmpJNUxXSXpNVEl0TmpObU9EZzFOamM0TldZMUlpd2laR1Z6WTNKcGNIUnBiMjRpT2lKRWRYSnBibWNnWW5Wc2F5QmpZWFJsWjI5eWVTQmtkWEJzYVdOaGRHbHZiaXdnZEdobElHQndZWEpsYm5SZmFXUmdJR2x6SUdOdmNHbGxaQ0JrYVhKbFkzUnNlU0JtY205dElIUm9aU0IwWlcxd2JHRjBaU0JqWVhSbFoyOXllUzRnVkdocGN5QnNaV0ZrY3lCMGJ5Qm1iM0psYVdkdUlHdGxlU0JqYjI1emRISmhhVzUwSUhacGIyeGhkR2x2Ym5NZ2IzSWdiM0p3YUdGdVpXUWdZMkYwWldkdmNtbGxjeUJpWldOaGRYTmxJSFJvWlNCMFpXMXdiR0YwWlNCZ2NHRnlaVzUwWDJsa1lDQmtiMlZ6SUc1dmRDQmxlR2x6ZENCcGJpQjBhR1VnYm1WM2JIa2dZM0psWVhSbFpDQm1ZVzFwYkhrdUlpd2lZMjl1Wm1sa1pXNWpaU0k2TUM0ME9UQXdORGt5T1RJME1qRTVNRFVzSW1OaGRHVm5iM0o1SWpvaVRFOUhTVU5mUWxWSEluMCIsImJyYW5jaCI6InphY2hnb2xsL21vcmUtcmVhbGlzdGljLWRlbW8tZGF0YS1nZW5lcmF0b3ItZm9yLXBlcmZvcm1hbmNlLXRlc3RpbmcifSwiaWF0IjoxNzQ5Njc1NzQ1LCJleHAiOjE3NTAyODA1NDV9.P40n-gp_fQwvytoogyeTlMelLQMwC3PpXccl6LS5IlWrepwGIyez58MhIdUi6NAXS-_4gobcI6z8XLIRhe6WLLDLD6BP4jQodozVGrKGi9luHPt4YaRMsaqu_W1XH4OMiMXAf6oZz0IECszQolwadWijs5w1R9nf6A39adISMBWtXPXLstlK0XgcIBVu59LQ_TyiqRDCjEyCUqIjlu-8h8T3jpTMwUk3cjc8gL-YlSr86wpet8bsCSymnDZIqswBb8tbBa0IDs0fgpkOqzszUtpp2NOxSoR7of5D3O-z_SKeimyEY3EFHLs6VkLfD7GBhrDC92MrRBDOEXTJGQEh7w">Fix in Cursor</a> </details> --- <details open> <summary><h3>Bug: Email Collision in Bulk Family Creation</h3></summary> The `PerformanceTesting` scenario's bulk family creation (`create_family_copies` method) causes an email collision and inconsistent numbering for duplicated users. The template family uses emails like 'user@maybe.local'. The duplication loop starts `i` from 2, and the email generation logic `user#{i == 2 ? "" : i}@maybe.local` incorrectly assigns 'user@maybe.local' to the first duplicated family (when `i=2`). This conflicts with the template family's users, leading to unique constraint violations and an inconsistent numbering pattern where only families from `i=3` onwards are sequentially numbered (e.g., 'user3@maybe.local'). <p></p> <details> <summary><code>app/models/demo/scenarios/performance_testing.rb#L129-L144</code></summary> https://github.com/maybe-finance/maybe/blob/87bd3734f4368a19758c36a3832533552556ab76/app/models/demo/scenarios/performance_testing.rb#L129-L144 </details> <a href="https://cursor.com/open?data=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJ1Z2JvdC12MSJ9.eyJ0eXBlIjoiQlVHQk9UX0ZJWF9JTl9DVVJTT1IiLCJkYXRhIjp7ImJ1ZyI6ImV5SnNiMk5oZEdsdmJuTWlPbHQ3SW1acGJHVWlPaUpoY0hBdmJXOWtaV3h6TDJSbGJXOHZjMk5sYm1GeWFXOXpMM0JsY21admNtMWhibU5sWDNSbGMzUnBibWN1Y21JaUxDSnpkR0Z5ZEV4cGJtVWlPakV5T1N3aVpXNWtUR2x1WlNJNk1UUTBMQ0pqYjJSbFRHbHVaWE1pT2x0ZGZWMHNJbWxrSWpvaVkyTmlNakJtTVRBdFltTm1ZUzAwTldGaUxUaGtPRGd0TkRVeU16a3pOV0V6TURVd0lpd2laR1Z6WTNKcGNIUnBiMjRpT2lKVWFHVWdZRkJsY21admNtMWhibU5sVkdWemRHbHVaMkFnYzJObGJtRnlhVzhuY3lCaWRXeHJJR1poYldsc2VTQmpjbVZoZEdsdmJpQW9ZR055WldGMFpWOW1ZVzFwYkhsZlkyOXdhV1Z6WUNCdFpYUm9iMlFwSUdOaGRYTmxjeUJoYmlCbGJXRnBiQ0JqYjJ4c2FYTnBiMjRnWVc1a0lHbHVZMjl1YzJsemRHVnVkQ0J1ZFcxaVpYSnBibWNnWm05eUlHUjFjR3hwWTJGMFpXUWdkWE5sY25NdUlGUm9aU0IwWlcxd2JHRjBaU0JtWVcxcGJIa2dkWE5sY3lCbGJXRnBiSE1nYkdsclpTQW5kWE5sY2tCdFlYbGlaUzVzYjJOaGJDY3VJRlJvWlNCa2RYQnNhV05oZEdsdmJpQnNiMjl3SUhOMFlYSjBjeUJnYVdBZ1puSnZiU0F5TENCaGJtUWdkR2hsSUdWdFlXbHNJR2RsYm1WeVlYUnBiMjRnYkc5bmFXTWdZSFZ6WlhJamUya2dQVDBnTWlBX0lGd2lYQ0lnT2lCcGZVQnRZWGxpWlM1c2IyTmhiR0FnYVc1amIzSnlaV04wYkhrZ1lYTnphV2R1Y3lBbmRYTmxja0J0WVhsaVpTNXNiMk5oYkNjZ2RHOGdkR2hsSUdacGNuTjBJR1IxY0d4cFkyRjBaV1FnWm1GdGFXeDVJQ2gzYUdWdUlHQnBQVEpnS1M0Z1ZHaHBjeUJqYjI1bWJHbGpkSE1nZDJsMGFDQjBhR1VnZEdWdGNHeGhkR1VnWm1GdGFXeDVKM01nZFhObGNuTXNJR3hsWVdScGJtY2dkRzhnZFc1cGNYVmxJR052Ym5OMGNtRnBiblFnZG1sdmJHRjBhVzl1Y3lCaGJtUWdZVzRnYVc1amIyNXphWE4wWlc1MElHNTFiV0psY21sdVp5QndZWFIwWlhKdUlIZG9aWEpsSUc5dWJIa2dabUZ0YVd4cFpYTWdabkp2YlNCZ2FUMHpZQ0J2Ym5kaGNtUnpJR0Z5WlNCelpYRjFaVzUwYVdGc2JIa2diblZ0WW1WeVpXUWdLR1V1Wnk0c0lDZDFjMlZ5TTBCdFlYbGlaUzVzYjJOaGJDY3BMaUlzSW1OdmJtWnBaR1Z1WTJVaU9qQXVNemMxT0RrMU5UazRPREUxTVRNNU9Dd2lZMkYwWldkdmNua2lPaUpNVDBkSlExOUNWVWNpZlEiLCJicmFuY2giOiJ6YWNoZ29sbC9tb3JlLXJlYWxpc3RpYy1kZW1vLWRhdGEtZ2VuZXJhdG9yLWZvci1wZXJmb3JtYW5jZS10ZXN0aW5nIn0sImlhdCI6MTc0OTY3NTc0NSwiZXhwIjoxNzUwMjgwNTQ1fQ.B5bktbYR7hDegKKbH5F2fu-iSE_GVshDAAfy4iYrdtsnfLrm1VqIKytiNkFzcV2TiDmtYy7kruPLN2Zko1cpJJgszBFQ4sa3zSHONCrChkmBnhnRk2uPfNpVIBX6AMAYI7OxSclRqA3RBjJ-CpvTwQ5bY1e_IbVO8T6VrtU5DTCR1ICu5rAyMDVGemNepacCMd8NWd1Id3Jhk32RD4sJ0UKpPiV5VWfqHdBAWQj5m_a-6CyAknjmWdmQ_k86EVNerrmasWXZU-FsHNwWa0fKfoCWi1P4SpCZaynUPpHfdZ3omaP9PqXvXHrggUysEcpSi3Vmi3F4-_gydXWspqALxw">Fix in Cursor</a> </details> --- _Was this report helpful? Give feedback by reacting with 👍 or 👎_
cursor[bot] (Migrated from github.com) reviewed 2025-06-12 05:05:43 +08:00
cursor[bot] (Migrated from github.com) left a comment

Bug: Category Duplication Fails to Map Parent IDs

When duplicating categories for new families, the parent_id is copied directly from the template category. This creates invalid foreign key references because the parent categories in the new family have different IDs than in the template family. This leads to foreign key constraint violations or orphaned category relationships, as subcategories attempt to reference non-existent parent IDs. The parent_id must be mapped to the corresponding new category ID within the target family.

app/models/demo/scenarios/performance_testing.rb#L203-L221

bdda780144/app/models/demo/scenarios/performance_testing.rb (L203-L221)

Fix in Cursor


Bug: Email Duplication in Family Copies

The create_family_copies method generates duplicate user emails. For the first duplicated family (when i=2 in the loop), the email pattern user#{i == 2 ? "" : i}@maybe.local (and similar for member users) creates "user@maybe.local" and "member_user@maybe.local". These emails conflict with those of the initial template family, violating unique email constraints.

app/models/demo/scenarios/performance_testing.rb#L129-L144

bdda780144/app/models/demo/scenarios/performance_testing.rb (L129-L144)

Fix in Cursor


Was this report helpful? Give feedback by reacting with 👍 or 👎

<details open> <summary><h3>Bug: Category Duplication Fails to Map Parent IDs</h3></summary> When duplicating categories for new families, the `parent_id` is copied directly from the template category. This creates invalid foreign key references because the parent categories in the new family have different IDs than in the template family. This leads to foreign key constraint violations or orphaned category relationships, as subcategories attempt to reference non-existent parent IDs. The `parent_id` must be mapped to the corresponding new category ID within the target family. <p></p> <details> <summary><code>app/models/demo/scenarios/performance_testing.rb#L203-L221</code></summary> https://github.com/maybe-finance/maybe/blob/bdda78014444be77861a2b4e1891c56988830d75/app/models/demo/scenarios/performance_testing.rb#L203-L221 </details> <a href="https://cursor.com/open?data=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJ1Z2JvdC12MSJ9.eyJ0eXBlIjoiQlVHQk9UX0ZJWF9JTl9DVVJTT1IiLCJkYXRhIjp7ImJ1ZyI6ImV5SnNiMk5oZEdsdmJuTWlPbHQ3SW1acGJHVWlPaUpoY0hBdmJXOWtaV3h6TDJSbGJXOHZjMk5sYm1GeWFXOXpMM0JsY21admNtMWhibU5sWDNSbGMzUnBibWN1Y21JaUxDSnpkR0Z5ZEV4cGJtVWlPakl3TXl3aVpXNWtUR2x1WlNJNk1qSXhMQ0pqYjJSbFRHbHVaWE1pT2x0ZGZWMHNJbWxrSWpvaVkyTmpPV1F6WVRndE5UY3pZeTAwTjJRNUxXRTJZV1V0TWpJeU1ETXhOR015TURFeklpd2laR1Z6WTNKcGNIUnBiMjRpT2lKWGFHVnVJR1IxY0d4cFkyRjBhVzVuSUdOaGRHVm5iM0pwWlhNZ1ptOXlJRzVsZHlCbVlXMXBiR2xsY3l3Z2RHaGxJR0J3WVhKbGJuUmZhV1JnSUdseklHTnZjR2xsWkNCa2FYSmxZM1JzZVNCbWNtOXRJSFJvWlNCMFpXMXdiR0YwWlNCallYUmxaMjl5ZVM0Z1ZHaHBjeUJqY21WaGRHVnpJR2x1ZG1Gc2FXUWdabTl5WldsbmJpQnJaWGtnY21WbVpYSmxibU5sY3lCaVpXTmhkWE5sSUhSb1pTQndZWEpsYm5RZ1kyRjBaV2R2Y21sbGN5QnBiaUIwYUdVZ2JtVjNJR1poYldsc2VTQm9ZWFpsSUdScFptWmxjbVZ1ZENCSlJITWdkR2hoYmlCcGJpQjBhR1VnZEdWdGNHeGhkR1VnWm1GdGFXeDVMaUJVYUdseklHeGxZV1J6SUhSdklHWnZjbVZwWjI0Z2EyVjVJR052Ym5OMGNtRnBiblFnZG1sdmJHRjBhVzl1Y3lCdmNpQnZjbkJvWVc1bFpDQmpZWFJsWjI5eWVTQnlaV3hoZEdsdmJuTm9hWEJ6TENCaGN5QnpkV0pqWVhSbFoyOXlhV1Z6SUdGMGRHVnRjSFFnZEc4Z2NtVm1aWEpsYm1ObElHNXZiaTFsZUdsemRHVnVkQ0J3WVhKbGJuUWdTVVJ6TGlCVWFHVWdZSEJoY21WdWRGOXBaR0FnYlhWemRDQmlaU0J0WVhCd1pXUWdkRzhnZEdobElHTnZjbkpsYzNCdmJtUnBibWNnYm1WM0lHTmhkR1ZuYjNKNUlFbEVJSGRwZEdocGJpQjBhR1VnZEdGeVoyVjBJR1poYldsc2VTNGlMQ0pqYjI1bWFXUmxibU5sSWpvd0xqWXlOell6T1RRMk56UTFOalUwTURnc0ltTmhkR1ZuYjNKNUlqb2lURTlIU1VOZlFsVkhJbjAiLCJicmFuY2giOiJ6YWNoZ29sbC9tb3JlLXJlYWxpc3RpYy1kZW1vLWRhdGEtZ2VuZXJhdG9yLWZvci1wZXJmb3JtYW5jZS10ZXN0aW5nIn0sImlhdCI6MTc0OTY3NTk0MywiZXhwIjoxNzUwMjgwNzQzfQ.ezDXjOicfSaggwsz2EkxfC5HHRQGk95xAHeiPIXzUowaN-C82PI4rPoLq_i6c4rTJRqbZS5OkTiRmIg1B0YAA6DqgQyQbKloKBnYh6o7LK-58SF8pNDlPoWYt1RugFleYjnAw2wKmnjgx4IAcsd5SZfLuSBS3a1l9LQzDtZ3NWvbDriqGe51_FsRbovLeb175ZjpG0_es5VhF0m6MSZJm2c0N6U6lUc86cGjUdFCUHjmlTAxxG6rO-3b9GrZKjHtVp1V3u4bsrQIqMhpTScNGk2panlafFaxHeaQPVms-6wfMAYal-MH6s-TPsy-MAkuEWK0XvDanmqEVSZFOQ3fIw">Fix in Cursor</a> </details> --- <details open> <summary><h3>Bug: Email Duplication in Family Copies</h3></summary> The `create_family_copies` method generates duplicate user emails. For the first duplicated family (when `i=2` in the loop), the email pattern `user#{i == 2 ? "" : i}@maybe.local` (and similar for member users) creates "user@maybe.local" and "member_user@maybe.local". These emails conflict with those of the initial template family, violating unique email constraints. <p></p> <details> <summary><code>app/models/demo/scenarios/performance_testing.rb#L129-L144</code></summary> https://github.com/maybe-finance/maybe/blob/bdda78014444be77861a2b4e1891c56988830d75/app/models/demo/scenarios/performance_testing.rb#L129-L144 </details> <a href="https://cursor.com/open?data=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJ1Z2JvdC12MSJ9.eyJ0eXBlIjoiQlVHQk9UX0ZJWF9JTl9DVVJTT1IiLCJkYXRhIjp7ImJ1ZyI6ImV5SnNiMk5oZEdsdmJuTWlPbHQ3SW1acGJHVWlPaUpoY0hBdmJXOWtaV3h6TDJSbGJXOHZjMk5sYm1GeWFXOXpMM0JsY21admNtMWhibU5sWDNSbGMzUnBibWN1Y21JaUxDSnpkR0Z5ZEV4cGJtVWlPakV5T1N3aVpXNWtUR2x1WlNJNk1UUTBMQ0pqYjJSbFRHbHVaWE1pT2x0ZGZWMHNJbWxrSWpvaVlUZGtOakF6WkdFdFpHRXlOaTAwWVRaa0xXRm1Nemd0WldJMk5tTXdZMlEwTmpOaklpd2laR1Z6WTNKcGNIUnBiMjRpT2lKVWFHVWdZR055WldGMFpWOW1ZVzFwYkhsZlkyOXdhV1Z6WUNCdFpYUm9iMlFnWjJWdVpYSmhkR1Z6SUdSMWNHeHBZMkYwWlNCMWMyVnlJR1Z0WVdsc2N5NGdSbTl5SUhSb1pTQm1hWEp6ZENCa2RYQnNhV05oZEdWa0lHWmhiV2xzZVNBb2QyaGxiaUJnYVQweVlDQnBiaUIwYUdVZ2JHOXZjQ2tzSUhSb1pTQmxiV0ZwYkNCd1lYUjBaWEp1SUdCMWMyVnlJM3RwSUQwOUlESWdQeUJjSWx3aUlEb2dhWDFBYldGNVltVXViRzlqWVd4Z0lDaGhibVFnYzJsdGFXeGhjaUJtYjNJZ2JXVnRZbVZ5SUhWelpYSnpLU0JqY21WaGRHVnpJRndpZFhObGNrQnRZWGxpWlM1c2IyTmhiRndpSUdGdVpDQmNJbTFsYldKbGNsOTFjMlZ5UUcxaGVXSmxMbXh2WTJGc1hDSXVJRlJvWlhObElHVnRZV2xzY3lCamIyNW1iR2xqZENCM2FYUm9JSFJvYjNObElHOW1JSFJvWlNCcGJtbDBhV0ZzSUhSbGJYQnNZWFJsSUdaaGJXbHNlU3dnZG1sdmJHRjBhVzVuSUhWdWFYRjFaU0JsYldGcGJDQmpiMjV6ZEhKaGFXNTBjeTRpTENKamIyNW1hV1JsYm1ObElqb3dMak00TURFMU5EZzROalE1TXpjNE5EVXNJbU5oZEdWbmIzSjVJam9pVEU5SFNVTmZRbFZISW4wIiwiYnJhbmNoIjoiemFjaGdvbGwvbW9yZS1yZWFsaXN0aWMtZGVtby1kYXRhLWdlbmVyYXRvci1mb3ItcGVyZm9ybWFuY2UtdGVzdGluZyJ9LCJpYXQiOjE3NDk2NzU5NDMsImV4cCI6MTc1MDI4MDc0M30.STdfjMcoZFW4sot-ZO675b5LR-UwRkAp0gbAY4LSabrLFWWGPDTq5k1fOEOztPNCsqkLck9J5UfW0GUsPXgLml8GeN5eRxoviHpbZG3Rf9gffMOADc7m5taVEeXz5JSGMSiDPhaW3jiWzxlVS_wBGrh-rY3xmokY6FyXxI4D3YXThG18d6cj-s6XVEOJVEolppuM7q9iPy4Ez2_cXqQj_Eqii2MGq_ZDv2U4xAvAJzWSEdmyci4UycNm_1Q45WF-dgBeYRlEaq-hTjWMttn7ElGl61oAUfFlBotstT_FSoAjUO7NUuG3DJ2i03cJmlWJ151u8YZA74XltKF6ThxC_Q">Fix in Cursor</a> </details> --- _Was this report helpful? Give feedback by reacting with 👍 or 👎_
cursor[bot] (Migrated from github.com) reviewed 2025-06-12 05:13:42 +08:00
cursor[bot] (Migrated from github.com) left a comment

Bug: Demo Data Currency Mismatch

The multi-currency demo data generation incorrectly creates families with USD currency instead of EUR. This occurs because the refactored Demo::Generator no longer passes the currency: "EUR" option to the family creation method, despite the MultiCurrency scenario expecting EUR as its primary currency.

app/models/demo/generator.rb#L20-L24

350ba18101/app/models/demo/generator.rb (L20-L24)

Fix in Cursor


Was this report helpful? Give feedback by reacting with 👍 or 👎

<details open> <summary><h3>Bug: Demo Data Currency Mismatch</h3></summary> The multi-currency demo data generation incorrectly creates families with USD currency instead of EUR. This occurs because the refactored `Demo::Generator` no longer passes the `currency: "EUR"` option to the family creation method, despite the `MultiCurrency` scenario expecting EUR as its primary currency. <p></p> <details> <summary><code>app/models/demo/generator.rb#L20-L24</code></summary> https://github.com/maybe-finance/maybe/blob/350ba181014f0ac1823966163daca11b10692465/app/models/demo/generator.rb#L20-L24 </details> <a href="https://cursor.com/open?data=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJ1Z2JvdC12MSJ9.eyJ0eXBlIjoiQlVHQk9UX0ZJWF9JTl9DVVJTT1IiLCJkYXRhIjp7ImJ1ZyI6ImV5SnNiMk5oZEdsdmJuTWlPbHQ3SW1acGJHVWlPaUpoY0hBdmJXOWtaV3h6TDJSbGJXOHZaMlZ1WlhKaGRHOXlMbkppSWl3aWMzUmhjblJNYVc1bElqb3lNQ3dpWlc1a1RHbHVaU0k2TWpRc0ltTnZaR1ZNYVc1bGN5STZXMTE5WFN3aWFXUWlPaUpoTm1NM00ySmxaaTB4Wm1RM0xUUmhabU10T0RCbVpTMDFaakZoT0dFM01HWXhaRE1pTENKa1pYTmpjbWx3ZEdsdmJpSTZJbFJvWlNCdGRXeDBhUzFqZFhKeVpXNWplU0JrWlcxdklHUmhkR0VnWjJWdVpYSmhkR2x2YmlCcGJtTnZjbkpsWTNSc2VTQmpjbVZoZEdWeklHWmhiV2xzYVdWeklIZHBkR2dnVlZORUlHTjFjbkpsYm1ONUlHbHVjM1JsWVdRZ2IyWWdSVlZTTGlCVWFHbHpJRzlqWTNWeWN5QmlaV05oZFhObElIUm9aU0J5WldaaFkzUnZjbVZrSUdCRVpXMXZPanBIWlc1bGNtRjBiM0pnSUc1dklHeHZibWRsY2lCd1lYTnpaWE1nZEdobElHQmpkWEp5Wlc1amVUb2dYQ0pGVlZKY0ltQWdiM0IwYVc5dUlIUnZJSFJvWlNCbVlXMXBiSGtnWTNKbFlYUnBiMjRnYldWMGFHOWtMQ0JrWlhOd2FYUmxJSFJvWlNCZ1RYVnNkR2xEZFhKeVpXNWplV0FnYzJObGJtRnlhVzhnWlhod1pXTjBhVzVuSUVWVlVpQmhjeUJwZEhNZ2NISnBiV0Z5ZVNCamRYSnlaVzVqZVM0aUxDSmpiMjVtYVdSbGJtTmxJam93TGpNM016UTRNalEzT0RVMU56STJOelUzTENKallYUmxaMjl5ZVNJNklreFBSMGxEWDBKVlJ5SjkiLCJicmFuY2giOiJ6YWNoZ29sbC9tb3JlLXJlYWxpc3RpYy1kZW1vLWRhdGEtZ2VuZXJhdG9yLWZvci1wZXJmb3JtYW5jZS10ZXN0aW5nIn0sImlhdCI6MTc0OTY3NjQyMiwiZXhwIjoxNzUwMjgxMjIyfQ.TvCs4X2ZavC2RFLoERJpxMCRsfMEZZTNkJZMXpvpYz2RmhTb5KOFyCp85DRRAj741gqiDKd8n1oPAG7t9YzNIsh-DStyEOpc8fNt4c7_aKTMfflVuhEOy591qZ3L2CfCKZihQq1bvQscfaxw44awRKUqf5K2nyU0TvugQHLPSPcFnglfNwXDrae_jNT7XEXGmA2agttepivo7LcSTnPmACU2BlcJieKIMPj4ZNPkbtdk9cE6n0k1RnZGS908l7gWyPUI9v-5aS4yQTtSSMCOi8TU4ITf0Hm5it5t9E0XF8pq-GLgJrdmD34-k-yM5CNUfQ0T5FPl1hVDYeol20MvUQ">Fix in Cursor</a> </details> --- _Was this report helpful? Give feedback by reacting with 👍 or 👎_
cursor[bot] (Migrated from github.com) reviewed 2025-06-12 06:40:43 +08:00
cursor[bot] (Migrated from github.com) left a comment

Bug: Transaction Log Miscalculation

The log message for transaction creation in create_sample_categorized_transactions! incorrectly adds +1 to TARGET_TRANSACTIONS_PER_FAMILY. It reports 5 transactions when only 4 (1 income, 3 expenses) are created, which matches the TARGET_TRANSACTIONS_PER_FAMILY value of 4.

app/models/demo/scenarios/basic_budget.rb#L122-L123

7353d27ebc/app/models/demo/scenarios/basic_budget.rb (L122-L123)

Fix in Cursor


Was this report helpful? Give feedback by reacting with 👍 or 👎

<details open> <summary><h3>Bug: Transaction Log Miscalculation</h3></summary> The log message for transaction creation in `create_sample_categorized_transactions!` incorrectly adds `+1` to `TARGET_TRANSACTIONS_PER_FAMILY`. It reports 5 transactions when only 4 (1 income, 3 expenses) are created, which matches the `TARGET_TRANSACTIONS_PER_FAMILY` value of 4. <p></p> <details> <summary><code>app/models/demo/scenarios/basic_budget.rb#L122-L123</code></summary> https://github.com/maybe-finance/maybe/blob/7353d27ebcb1650e022977898b5ae0034789bbbc/app/models/demo/scenarios/basic_budget.rb#L122-L123 </details> <a href="https://cursor.com/open?data=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJ1Z2JvdC12MSJ9.eyJ0eXBlIjoiQlVHQk9UX0ZJWF9JTl9DVVJTT1IiLCJkYXRhIjp7ImJ1ZyI6ImV5SnNiMk5oZEdsdmJuTWlPbHQ3SW1acGJHVWlPaUpoY0hBdmJXOWtaV3h6TDJSbGJXOHZjMk5sYm1GeWFXOXpMMkpoYzJsalgySjFaR2RsZEM1eVlpSXNJbk4wWVhKMFRHbHVaU0k2TVRJeUxDSmxibVJNYVc1bElqb3hNak1zSW1OdlpHVk1hVzVsY3lJNlcxMTlYU3dpYVdRaU9pSXpZV013WWpZME9DMHdZelV3TFRSbU9UQXRZalJtWWkxa01qQmhOVEJoTTJRelpEWWlMQ0prWlhOamNtbHdkR2x2YmlJNklsUm9aU0JzYjJjZ2JXVnpjMkZuWlNCbWIzSWdkSEpoYm5OaFkzUnBiMjRnWTNKbFlYUnBiMjRnYVc0Z1lHTnlaV0YwWlY5ellXMXdiR1ZmWTJGMFpXZHZjbWw2WldSZmRISmhibk5oWTNScGIyNXpJV0FnYVc1amIzSnlaV04wYkhrZ1lXUmtjeUJnS3pGZ0lIUnZJR0JVUVZKSFJWUmZWRkpCVGxOQlExUkpUMDVUWDFCRlVsOUdRVTFKVEZsZ0xpQkpkQ0J5WlhCdmNuUnpJRFVnZEhKaGJuTmhZM1JwYjI1eklIZG9aVzRnYjI1c2VTQTBJQ2d4SUdsdVkyOXRaU3dnTXlCbGVIQmxibk5sY3lrZ1lYSmxJR055WldGMFpXUXNJSGRvYVdOb0lHMWhkR05vWlhNZ2RHaGxJR0JVUVZKSFJWUmZWRkpCVGxOQlExUkpUMDVUWDFCRlVsOUdRVTFKVEZsZ0lIWmhiSFZsSUc5bUlEUXVJaXdpWTI5dVptbGtaVzVqWlNJNk1DNHpOakl3TkRNNE5EVTRNVEk1TlRNek5Td2lZMkYwWldkdmNua2lPaUpNVDBkSlExOUNWVWNpZlEiLCJicmFuY2giOiJ6YWNoZ29sbC9tb3JlLXJlYWxpc3RpYy1kZW1vLWRhdGEtZ2VuZXJhdG9yLWZvci1wZXJmb3JtYW5jZS10ZXN0aW5nIn0sImlhdCI6MTc0OTY4MTY0MywiZXhwIjoxNzUwMjg2NDQzfQ.nBflPszucFWdL0CqLzXgCKGU6vk227rMACplPFwR5nOmyAzKP3aqHmOJhcBULLvFK9OKMzoDBshyz21XvEaPEMYDOvXutcSGZWb4hT8qJNsEP2y3uCuKeM46h8Xfb0k517CXvXm1GXhoW7_PgCZD_SDbp2yRjcTBWvDqTsvqdyNlPLS0JAwxHLRQdJTxbhXcgNSHH-s7Qj2O1H1fox_4cZ1XskkslvMdvkpaLKj-ouG9lo6DXFHgCfiGqv8L2FYD7fPSSFBS8_hFBqdPB8gt0TTsLo-TVdmT1DaZM5xJohuzUx9zYk70USJ8gTmUFAJhWeAgRwmqht_8eWwDExJSgg">Fix in Cursor</a> </details> --- _Was this report helpful? Give feedback by reacting with 👍 or 👎_
Sign in to join this conversation.