def test_execute_raise_invalid_move_error( fx_user: User, fx_novice_status: typing.Mapping[str, str]): move = fx_user.create_novice(fx_novice_status) Block.create(fx_user, [move]) for move_type in Move.__subclasses__(): move = fx_user.move(move_type()) assert not move.block assert not move.block_id with raises(InvalidMoveError): move.execute()
def test_ensure_block(fx_user: User): class ValidMove(Move): __mapper_args__ = { 'polymorphic_identity': 'valid', } move = fx_user.move(ValidMove()) Block.create(fx_user, [move]) assert move.block assert move.block_id with raises(NotImplementedError): move.execute()