Source code for evennia.contrib.rpg.character_creator.tests
from unittest.mock import patch
from django.conf import settings
from django.test import override_settings
from evennia import DefaultCharacter
from evennia.commands.default import account
from evennia.utils import inherits_from
from evennia.utils.test_resources import BaseEvenniaCommandTest
from . import character_creator
[docs]class TestCharacterCreator(BaseEvenniaCommandTest):
[docs] def setUp(self):
super().setUp()
self.account.swap_typeclass(character_creator.ContribChargenAccount)
[docs] def test_ooc_look(self):
self.account.db._playable_characters = [self.char1]
self.account.unpuppet_all()
self.char1.db.chargen_step = "start"
with patch("evennia.commands.default.account._AUTO_PUPPET_ON_LOGIN", new=False):
# check that correct output is returning
output = self.call(
account.CmdOOCLook(),
"",
"Account TestAccount (you are Out-of-Character)",
caller=self.account,
)
# check that char1 is recognized as in progress
self.assertIn("in progress", output)
[docs] @override_settings(CHARGEN_MENU="evennia.contrib.rpg.character_creator.example_menu")
def test_char_create(self):
self.call(
character_creator.ContribCmdCharCreate(),
"",
caller=self.account,
)
menu = self.session.ndb._menutree
self.assertNotEqual(menu, None)
self.assertTrue(inherits_from(self.session.new_char, DefaultCharacter))