11import pytest
22from unittest .mock import call
33
4- from pythonanywhere . api . students_api import StudentsAPI
4+ from pythonanywhere_core . students import StudentsAPI
55from pythonanywhere .students import Students
66
77
88@pytest .mark .students
99class TestStudentsInit :
1010 def test_instantiates_correctly (self ):
1111 students = Students ()
12- assert type (students .api ) == StudentsAPI
12+ assert isinstance (students .api , StudentsAPI )
1313
1414
1515@pytest .mark .students
1616class TestStudentsGet :
1717 def test_returns_list_of_usernames_when_found_in_api_response (self , mocker ):
18- mock_students_api_get = mocker .patch ("pythonanywhere.api.students_api .StudentsAPI.get" )
18+ mock_students_api_get = mocker .patch ("pythonanywhere.students .StudentsAPI.get" )
1919 student_usernames = ["student1" , "student2" ]
2020 mock_students_api_get .return_value = {
2121 "students" : [{"username" : s } for s in student_usernames ]
@@ -27,7 +27,7 @@ def test_returns_list_of_usernames_when_found_in_api_response(self, mocker):
2727 assert result == student_usernames
2828
2929 def test_returns_empty_list_when_no_usernames_found_in_api_response (self , mocker ):
30- mock_students_api_get = mocker .patch ("pythonanywhere.api.students_api .StudentsAPI.get" )
30+ mock_students_api_get = mocker .patch ("pythonanywhere.students .StudentsAPI.get" )
3131 mock_students_api_get .return_value = {"students" : []}
3232
3333 result = Students ().get ()
@@ -43,7 +43,7 @@ def test_returns_empty_list_when_no_usernames_found_in_api_response(self, mocker
4343 ]
4444 )
4545 def test_uses_correct_grammar_in_log_messages (self , mocker , api_response , expected_wording ):
46- mock_students_api_get = mocker .patch ("pythonanywhere.api.students_api .StudentsAPI.get" )
46+ mock_students_api_get = mocker .patch ("pythonanywhere.students .StudentsAPI.get" )
4747 mock_students_api_get .return_value = api_response
4848 mock_snake = mocker .patch ("pythonanywhere.students.snakesay" )
4949 mock_info = mocker .patch ("pythonanywhere.students.logger.info" )
@@ -57,7 +57,7 @@ def test_uses_correct_grammar_in_log_messages(self, mocker, api_response, expect
5757@pytest .mark .students
5858class TestStudentsDelete :
5959 def test_returns_true_and_informs_when_student_removed (self , mocker ):
60- mock_students_api_delete = mocker .patch ("pythonanywhere.api.students_api .StudentsAPI.delete" )
60+ mock_students_api_delete = mocker .patch ("pythonanywhere.students .StudentsAPI.delete" )
6161 mock_students_api_delete .return_value = True
6262 mock_snake = mocker .patch ("pythonanywhere.students.snakesay" )
6363 mock_info = mocker .patch ("pythonanywhere.students.logger.info" )
@@ -70,7 +70,7 @@ def test_returns_true_and_informs_when_student_removed(self, mocker):
7070 assert result is True
7171
7272 def test_returns_false_and_warns_when_student_not_removed (self , mocker ):
73- mock_students_api_delete = mocker .patch ("pythonanywhere.api.students_api .StudentsAPI.delete" )
73+ mock_students_api_delete = mocker .patch ("pythonanywhere.students .StudentsAPI.delete" )
7474 mock_students_api_delete .side_effect = Exception ("error msg" )
7575 mock_students_api_delete .return_value = False
7676 mock_snake = mocker .patch ("pythonanywhere.students.snakesay" )
0 commit comments