from io import StringIO from django.core.management import call_command from misago.users.management.commands import populateonlinetracker from misago.users.models import Online def test_management_command_creates_online_tracker_for_user_without_one(user): Online.objects.filter(user=user).delete() assert not Online.objects.filter(user=user).exists() call_command(populateonlinetracker.Command(), stdout=StringIO()) assert Online.objects.filter(user=user).exists() def test_management_command_displays_message_with_number_of_created_trackers(user): Online.objects.filter(user=user).delete() assert not Online.objects.filter(user=user).exists() out = StringIO() call_command(populateonlinetracker.Command(), stdout=out) command_output = out.getvalue().splitlines()[0].strip() assert command_output == "Tracker entries created: 1"