Coverage for benefits/enrollment_littlepay/migrations/0002_littlepaygroup.py: 50%
18 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-15 17:49 +0000
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-15 17:49 +0000
1# Generated by Django 5.1.7 on 2025-07-12 03:28
3from uuid import UUID
4import django.db.models.deletion
5from django.db import migrations, models
8def migrate_littlepay_group_ids(apps, schema_editor):
9 LittlepayGroup = apps.get_model("enrollment_littlepay", "LittlepayGroup")
10 EnrollmentFlow = apps.get_model("core", "EnrollmentFlow")
12 for flow in EnrollmentFlow.objects.all(): 12 ↛ 13line 12 didn't jump to line 13 because the loop on line 12 never started
13 group_id = flow.group_id
14 if group_id:
15 try:
16 UUID(group_id, version=4)
17 except ValueError as e:
18 raise ValueError(f"Invalid group_id {group_id} on flow {flow}") from e
20 littlepay_group = LittlepayGroup.objects.create(group_id=group_id, enrollment_flow=flow)
21 littlepay_group.save()
24class Migration(migrations.Migration):
26 dependencies = [
27 ("core", "0052_enrollmentgroup"),
28 ("enrollment_littlepay", "0001_initial"),
29 ]
31 operations = [
32 migrations.CreateModel(
33 name="LittlepayGroup",
34 fields=[
35 (
36 "enrollmentgroup_ptr",
37 models.OneToOneField(
38 auto_created=True,
39 on_delete=django.db.models.deletion.CASCADE,
40 parent_link=True,
41 primary_key=True,
42 serialize=False,
43 to="core.enrollmentgroup",
44 ),
45 ),
46 (
47 "group_id",
48 models.UUIDField(blank=True, default=None, help_text="The ID of the Littlepay group for user enrollment."),
49 ),
50 ],
51 bases=("core.enrollmentgroup",),
52 ),
53 migrations.RunPython(migrate_littlepay_group_ids),
54 ]