11import factory
22
33from common .tests .factories import CountryFactory
4- from metadata .models import Market , Season , SeasonalActivityType , WealthCharacteristic
4+ from metadata .models import (
5+ CharacteristicGroup ,
6+ Market ,
7+ Season ,
8+ SeasonalActivityType ,
9+ WealthCharacteristic ,
10+ )
511
612
713class LivelihoodCategoryFactory (factory .django .DjangoModelFactory ):
@@ -58,6 +64,24 @@ class Meta:
5864 description_fr = factory .LazyAttribute (lambda o : f"{ o .name_fr } Wealth Group Category Description fr" )
5965
6066
67+ class CharacteristicGroupFactory (factory .django .DjangoModelFactory ):
68+ class Meta :
69+ model = CharacteristicGroup
70+ django_get_or_create = ("code" ,)
71+
72+ code = factory .Iterator (["Population" , "Income" , "Land" , "Livestock" , "Other assets" ])
73+ name_en = factory .LazyAttribute (lambda o : f"{ o .code } " )
74+ name_pt = factory .LazyAttribute (lambda o : f"{ o .code } pt" )
75+ name_es = factory .LazyAttribute (lambda o : f"{ o .code } es" )
76+ name_fr = factory .LazyAttribute (lambda o : f"{ o .code } fr" )
77+ name_ar = factory .LazyAttribute (lambda o : f"{ o .code } ar" )
78+ description_en = factory .LazyAttribute (lambda o : f"{ o .code } Description en" )
79+ description_pt = factory .LazyAttribute (lambda o : f"{ o .code } Description pt" )
80+ description_es = factory .LazyAttribute (lambda o : f"{ o .code } Description es" )
81+ description_ar = factory .LazyAttribute (lambda o : f"{ o .code } Description ar" )
82+ description_fr = factory .LazyAttribute (lambda o : f"{ o .code } Description fr" )
83+
84+
6185class WealthCharacteristicFactory (factory .django .DjangoModelFactory ):
6286 class Meta :
6387 model = "metadata.WealthCharacteristic"
@@ -73,6 +97,7 @@ class Meta:
7397 )
7498 has_product = factory .Iterator ([False , True ])
7599 has_unit_of_measure = factory .Iterator ([False , True ])
100+ characteristic_group = factory .SubFactory (CharacteristicGroupFactory )
76101 name_en = factory .LazyAttribute (lambda o : f"{ o .code } Wealth Characteristic en" )
77102 name_pt = factory .LazyAttribute (lambda o : f"{ o .code } Wealth Characteristic pt" )
78103 name_es = factory .LazyAttribute (lambda o : f"{ o .code } Wealth Characteristic es" )
0 commit comments