Repository: Galarzaa90/tibia.py

Issue:
get_highscores_url does not work as documented and breaks when no vocation is sent
Sending no vocation will default it to None.
But method's documentation says it would just consider all vocations instead

`{AttributeError}'NoneType' object has no attribute 'value'` is thrown

![image](https://github.com/Galarzaa90/tibia.py/assets/20662669/904ee945-b892-4ee3-9443-6a73207f217e)


Discussion:

Patch:
diff --git a/tibiapy/urls.py b/tibiapy/urls.py
index fd5d1e0..b0e0582 100644
--- a/tibiapy/urls.py
+++ b/tibiapy/urls.py
@@ -414,9 +414,13 @@ def get_highscores_url(
     """
     pvp_types = pvp_types or []
     pvp_params = [("worldtypes[]", p.value) for p in pvp_types]
-    return get_tibia_url("community", "highscores", *pvp_params, world=world, category=category.value,
-                         profession=vocation.value, currentpage=page,
-                         beprotection=battleye_type.value if battleye_type else None)
+    return get_tibia_url("community", "highscores", *pvp_params,
+                         world=world,
+                         category=category.value if category else None,
+                         profession=vocation.value if vocation else None,
+                         currentpage=page,
+                         beprotection=battleye_type.value if battleye_type else None,
+                         )
 
 
 def get_kill_statistics_url(world: str) -> str:


Test patch:
diff --git a/tests/tests_urls.py b/tests/tests_urls.py
new file mode 100644
index 0000000..e917e80
--- /dev/null
+++ b/tests/tests_urls.py
@@ -0,0 +1,10 @@
+from tests.tests_tibiapy import TestCommons
+from tibiapy.urls import get_highscores_url
+
+
+class TestUrls(TestCommons):
+
+    def test_get_highscores_url_empty_params(self):
+        url = get_highscores_url()
+
+        self.assertEqual("https://www.tibia.com/community/?subtopic=highscores&currentpage=1", url)