Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Okej, så jag behövde klura en hel del på denna i början. Anledninen var för att jag behövde göra en request från testfilen som satisfierade jsonify(). När vi använde oss av blueprint och bluebrint.route() i de andra resurserna så kunde ett anrop göras till rest_api_util-funktionerna utan problem för att kolla om man var inloggad eller inte.
När jag initierade min testfil hursomhelst, så försökte jag göra en dummy-fil först som gjorde en replikering av blueprint och blueprint.route(), följt av en liten funktion som kunde skapa parametern request innan man kallade på check_if_user_is_authoirized, men det gick inte. Jag försökte även lägga den i src/resources utan framgång. Istället så gjorde jag en fejk-parameter request mha en static i test-filen och använde mig av Flask.context() i mina anrop till filen.
Hela anledningen till detta är för att om man kallar på rest_api_util.check_if_user_is_authorized(request=req) rakt av, får man ett error som säger att jsonify kräver rätt context för att ge en response.
Min lösning funkar med respekt till teskoden och linter, men det som händer med responsen är att man får en nestled tuple, där response (som skickas) i sig blir en tuple som ges av datan plus ytterligare en status-kod som säger att det gick bra att returnera datat. Däremot skickas även den andra status-koden i den yttre tuplen på ett korrekt sätt, och bara man tänker på det i testningen är det inga problem.
Mypy-kommandot verkar inte lira med type-hintingen som finns implementerad i koden, vilket är ett problem. Jag låter det kvarstå då jag inte vill ta bort hints i routes och rest_api_util. Min lösning resulterade också i meddelandet "Value of type "Optional[tuple[Response, int]]" is not indexable", då det frångår från hintingen p.g.a den extra tuplen som fås från context().
Som sagt, jag lyckades inte få till ett replikerad blueprint-anrop utan fick endast 404 not found, och behövde därför skapa parametern request på annat sätt.