| Conditions | 1 |
| Total Lines | 56 |
| Lines | 0 |
| Ratio | 0 % |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | import json |
||
| 19 | @classmethod |
||
| 20 | def setUpTestData(self): |
||
| 21 | super(APITestCase, self).setUpTestData() |
||
| 22 | |||
| 23 | # Routes |
||
| 24 | self.group_field_url = "/group-member-value/" |
||
| 25 | |||
| 26 | # Create the base Group |
||
| 27 | self.group = GroupFactory() |
||
| 28 | |||
| 29 | # Users already in group |
||
| 30 | # User[0]: Not in Group |
||
| 31 | # User[1]: Requested join, not accepted |
||
| 32 | # User[2]: Group member |
||
| 33 | # User[3]: Group admin |
||
| 34 | self.users = [UserFactory(), UserFactory(), UserFactory(), UserFactory(), UserFactory()] |
||
| 35 | |||
| 36 | # Associated GroupMember |
||
| 37 | self.group_member = [ |
||
| 38 | None, |
||
| 39 | GroupMemberFactory(user=self.users[1], group=self.group, perm_rank=0), |
||
| 40 | GroupMemberFactory(user=self.users[2], group=self.group, perm_rank=1), |
||
| 41 | GroupMemberFactory(user=self.users[3], group=self.group, perm_rank=Group.ADMINISTRATOR_RANK), |
||
| 42 | GroupMemberFactory(user=self.users[4], group=self.group, perm_rank=0) |
||
| 43 | ] |
||
| 44 | # Let's add some custom fields to this Group |
||
| 45 | self.validator_none = Validator.objects.all().get(html_name=Validator.VALIDATOR_NONE) |
||
| 46 | self.validator_text = Validator.objects.all().get(html_name=Validator.VALIDATOR_TEXT) |
||
| 47 | self.group_fields = [ |
||
| 48 | # First field does not require any validation |
||
| 49 | GroupFieldFactory(group=self.group, validator=self.validator_none, validator_values={}), |
||
| 50 | # Second field must be in the email format |
||
| 51 | GroupFieldFactory(group=self.group, |
||
| 52 | validator=self.validator_text, |
||
| 53 | validator_values={"regex": "[^@]+@[^@]+\.[^@]+", "message": "Invalid email"}), |
||
| 54 | GroupFieldFactory(group=self.group, validator=self.validator_none, validator_values={}), |
||
| 55 | ] |
||
| 56 | |||
| 57 | # And we need a second group |
||
| 58 | self.group2 = GroupFactory() |
||
| 59 | self.group2_user2 = GroupMemberFactory(user=self.users[4], group=self.group2, perm_rank=1) |
||
| 60 | self.group2_fields = [ |
||
| 61 | # First field does not require any validation |
||
| 62 | GroupFieldFactory(group=self.group2, validator=self.validator_none, validator_values={}), |
||
| 63 | # Second field must be in the email format |
||
| 64 | GroupFieldFactory(group=self.group2, |
||
| 65 | validator=self.validator_text, |
||
| 66 | validator_values={"regex": "[^@]+@[^@]+\.[^@]+", "message": "Invalid email"}), |
||
| 67 | GroupFieldFactory(group=self.group2, validator=self.validator_none, validator_values={}), |
||
| 68 | ] |
||
| 69 | |||
| 70 | # Create some values |
||
| 71 | GroupMemberValueFactory(field=self.group2_fields[0], membership=self.group2_user2, value="TextFieldValue1") |
||
| 72 | GroupMemberValueFactory(field=self.group2_fields[1], membership=self.group2_user2, value="[email protected]") |
||
| 73 | GroupMemberValueFactory(field=self.group_fields[2], membership=self.group_member[2], value="Field3Value__user2") |
||
| 74 | GroupMemberValueFactory(field=self.group_fields[2], membership=self.group_member[3], value="Field3Value__user3") |
||
| 75 | |||
| 152 |