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