@@ -659,23 +659,23 @@ def task_processor_synchronously(settings):
659
659
660
660
661
661
@pytest .fixture ()
662
- def a_metadata_field (organisation ) :
662
+ def a_metadata_field (organisation : Organisation ) -> MetadataField :
663
663
return MetadataField .objects .create (name = "a" , type = "int" , organisation = organisation )
664
664
665
665
666
666
@pytest .fixture ()
667
- def b_metadata_field (organisation ) :
667
+ def b_metadata_field (organisation : Organisation ) -> MetadataField :
668
668
return MetadataField .objects .create (name = "b" , type = "str" , organisation = organisation )
669
669
670
670
671
671
@pytest .fixture ()
672
672
def required_a_environment_metadata_field (
673
- organisation ,
674
- a_metadata_field ,
675
- environment ,
676
- project ,
677
- project_content_type ,
678
- ):
673
+ organisation : Organisation ,
674
+ a_metadata_field : MetadataField ,
675
+ environment : Environment ,
676
+ project : Project ,
677
+ project_content_type : ContentType ,
678
+ ) -> MetadataModelField :
679
679
environment_type = ContentType .objects .get_for_model (environment )
680
680
model_field = MetadataModelField .objects .create (
681
681
field = a_metadata_field ,
@@ -689,7 +689,119 @@ def required_a_environment_metadata_field(
689
689
690
690
691
691
@pytest .fixture ()
692
- def optional_b_environment_metadata_field (organisation , b_metadata_field , environment ):
692
+ def required_a_feature_metadata_field (
693
+ organisation : Organisation ,
694
+ a_metadata_field : MetadataField ,
695
+ feature_content_type : ContentType ,
696
+ project : Project ,
697
+ project_content_type : ContentType ,
698
+ ) -> MetadataModelField :
699
+ model_field = MetadataModelField .objects .create (
700
+ field = a_metadata_field ,
701
+ content_type = feature_content_type ,
702
+ )
703
+
704
+ MetadataModelFieldRequirement .objects .create (
705
+ content_type = project_content_type , object_id = project .id , model_field = model_field
706
+ )
707
+
708
+ return model_field
709
+
710
+
711
+ @pytest .fixture ()
712
+ def required_a_feature_metadata_field_using_organisation_content_type (
713
+ organisation : Organisation ,
714
+ a_metadata_field : MetadataField ,
715
+ feature_content_type : ContentType ,
716
+ project : Project ,
717
+ organisation_content_type : ContentType ,
718
+ ) -> MetadataModelField :
719
+ model_field = MetadataModelField .objects .create (
720
+ field = a_metadata_field ,
721
+ content_type = feature_content_type ,
722
+ )
723
+
724
+ MetadataModelFieldRequirement .objects .create (
725
+ content_type = organisation_content_type ,
726
+ object_id = organisation .id ,
727
+ model_field = model_field ,
728
+ )
729
+
730
+ return model_field
731
+
732
+
733
+ @pytest .fixture ()
734
+ def required_a_segment_metadata_field (
735
+ organisation : Organisation ,
736
+ a_metadata_field : MetadataField ,
737
+ segment_content_type : ContentType ,
738
+ project : Project ,
739
+ project_content_type : ContentType ,
740
+ ) -> MetadataModelField :
741
+ model_field = MetadataModelField .objects .create (
742
+ field = a_metadata_field ,
743
+ content_type = segment_content_type ,
744
+ )
745
+
746
+ MetadataModelFieldRequirement .objects .create (
747
+ content_type = project_content_type , object_id = project .id , model_field = model_field
748
+ )
749
+
750
+ return model_field
751
+
752
+
753
+ @pytest .fixture ()
754
+ def required_a_segment_metadata_field_using_organisation_content_type (
755
+ organisation : Organisation ,
756
+ a_metadata_field : MetadataField ,
757
+ segment_content_type : ContentType ,
758
+ project : Project ,
759
+ organisation_content_type : ContentType ,
760
+ ) -> MetadataModelField :
761
+ model_field = MetadataModelField .objects .create (
762
+ field = a_metadata_field ,
763
+ content_type = segment_content_type ,
764
+ )
765
+
766
+ MetadataModelFieldRequirement .objects .create (
767
+ content_type = organisation_content_type ,
768
+ object_id = organisation .id ,
769
+ model_field = model_field ,
770
+ )
771
+
772
+ return model_field
773
+
774
+
775
+ @pytest .fixture ()
776
+ def optional_b_feature_metadata_field (
777
+ organisation : Organisation , b_metadata_field : MetadataField , feature : Feature
778
+ ) -> MetadataModelField :
779
+ feature_type = ContentType .objects .get_for_model (feature )
780
+
781
+ return MetadataModelField .objects .create (
782
+ field = b_metadata_field ,
783
+ content_type = feature_type ,
784
+ )
785
+
786
+
787
+ @pytest .fixture ()
788
+ def optional_b_segment_metadata_field (
789
+ organisation : Organisation , b_metadata_field : MetadataField , segment : Segment
790
+ ) -> MetadataModelField :
791
+ segment_type = ContentType .objects .get_for_model (segment )
792
+
793
+ return MetadataModelField .objects .create (
794
+ field = b_metadata_field ,
795
+ content_type = segment_type ,
796
+ )
797
+
798
+
799
+ @pytest .fixture ()
800
+ def optional_b_environment_metadata_field (
801
+ organisation : Organisation ,
802
+ b_metadata_field : MetadataField ,
803
+ environment : Environment ,
804
+ ) -> MetadataModelField :
693
805
environment_type = ContentType .objects .get_for_model (environment )
694
806
695
807
return MetadataModelField .objects .create (
@@ -699,7 +811,10 @@ def optional_b_environment_metadata_field(organisation, b_metadata_field, enviro
699
811
700
812
701
813
@pytest .fixture ()
702
- def environment_metadata_a (environment , required_a_environment_metadata_field ):
814
+ def environment_metadata_a (
815
+ environment : Environment ,
816
+ required_a_environment_metadata_field : MetadataModelField ,
817
+ ) -> Metadata :
703
818
environment_type = ContentType .objects .get_for_model (environment )
704
819
return Metadata .objects .create (
705
820
object_id = environment .id ,
@@ -710,7 +825,10 @@ def environment_metadata_a(environment, required_a_environment_metadata_field):
710
825
711
826
712
827
@pytest .fixture ()
713
- def environment_metadata_b (environment , optional_b_environment_metadata_field ):
828
+ def environment_metadata_b (
829
+ environment : Environment ,
830
+ optional_b_environment_metadata_field : MetadataModelField ,
831
+ ) -> Metadata :
714
832
environment_type = ContentType .objects .get_for_model (environment )
715
833
return Metadata .objects .create (
716
834
object_id = environment .id ,
@@ -721,15 +839,30 @@ def environment_metadata_b(environment, optional_b_environment_metadata_field):
721
839
722
840
723
841
@pytest .fixture ()
724
- def environment_content_type ():
842
+ def environment_content_type () -> ContentType :
725
843
return ContentType .objects .get_for_model (Environment )
726
844
727
845
728
846
@pytest .fixture ()
729
- def project_content_type ():
847
+ def feature_content_type () -> ContentType :
848
+ return ContentType .objects .get_for_model (Feature )
849
+
850
+
851
+ @pytest .fixture ()
852
+ def segment_content_type () -> ContentType :
853
+ return ContentType .objects .get_for_model (Segment )
854
+
855
+
856
+ @pytest .fixture ()
857
+ def project_content_type () -> ContentType :
730
858
return ContentType .objects .get_for_model (Project )
731
859
732
860
861
+ @pytest .fixture ()
862
+ def organisation_content_type () -> ContentType :
863
+ return ContentType .objects .get_for_model (Organisation )
864
+
865
+
733
866
@pytest .fixture
734
867
def manage_user_group_permission (db ):
735
868
return OrganisationPermissionModel .objects .get (key = MANAGE_USER_GROUPS )
0 commit comments