12345678910111213141516171819202122232425262728293031323334353637 |
- from io import StringIO
- from django.core.management import call_command
- from django.test import TestCase
- from misago.users.management.commands import listusedprofilefields
- from misago.users.test import create_test_user
- class ListUsedProfileFieldsTests(TestCase):
- def test_no_fields_set(self):
- """utility has no showstoppers when no fields are set"""
- create_test_user("User", "user@example.com")
- out = StringIO()
- call_command(listusedprofilefields.Command(), stdout=out)
- command_output = out.getvalue().splitlines()[0].strip()
- self.assertEqual(command_output, "No profile fields are currently in use.")
- def test_fields_set(self):
- """utility lists number of users that have different fields set"""
- create_test_user(
- "User1",
- "user1@example.com",
- profile_fields={"gender": "male", "bio": "Yup!"},
- )
- create_test_user(
- "User2", "user2@example.com", profile_fields={"gender": "male"}
- )
- create_test_user("User3", "user3@example.com", profile_fields={"location": ""})
- out = StringIO()
- call_command(listusedprofilefields.Command(), stdout=out)
- command_output = [l.strip() for l in out.getvalue().strip().splitlines()]
- self.assertEqual(command_output, ["bio: 1", "gender: 2", "location: 1"])
|