# SPDX-FileCopyrightText: WTF Kooperative eG # # SPDX-License-Identifier: AGPL-3.0-or-later import unittest from ki.test.ApiTest import ApiTest class TestSkillsEndpoint(ApiTest): def test_skills_options(self): response = self.client.options("/skills") self.assertEqual(response.status_code, 200) self.assertIn("Access-Control-Allow-Origin", response.headers) self.assertEqual(response.headers["Access-Control-Allow-Origin"], "*") def test_find_skills_php(self): token = self.login("peter", "geheim")["token"] response = self.client.get("/skills?search=php", headers={"Authorization": "Bearer " + token}) self.assertEqual(response.status_code, 200) self.assertGreaterEqual(len(response.json['skills']), 1) self.assertIn({"id": 1, "name": "PHP", "icon_url": "/skills/1/icon"}, response.json['skills']) self.assertIn("Access-Control-Allow-Origin", response.headers) self.assertEqual(response.headers["Access-Control-Allow-Origin"], "*") def test_find_skills_p(self): token = self.login("peter", "geheim")["token"] response = self.client.get("/skills?search=p", headers={"Authorization": "Bearer " + token}) self.assertEqual(response.status_code, 200) self.assertGreaterEqual(len(response.json['skills']), 3) self.assertIn("Access-Control-Allow-Origin", response.headers) self.assertEqual(response.headers["Access-Control-Allow-Origin"], "*") def test_get_php_skill_icon(self): response = self.client.get("/skills/1/icon") self.assertEqual(response.status_code, 200) self.assertIn("Content-Type", response.headers) self.assertEqual(response.headers["Content-Type"], "image/svg+xml; charset=utf-8") response.close() def test_get_fallback_skill_icon(self): response = self.client.get("/skills/2/icon") self.assertEqual(response.status_code, 200) self.assertIn("Content-Type", response.headers) self.assertEqual(response.headers["Content-Type"], "image/svg+xml; charset=utf-8") response.close() if __name__ == "main": unittest.main()