예제 #1
0
    def get_response(self, mock_request, params, **headers):
        mock_request.side_effect = make_mock_request_impl(
            self.TEST_THREAD_TEXT, self.TEST_THREAD_ID)
        request = RequestFactory().get("dummy_url", data=params, **headers)
        request.user = self.student

        mako_middleware_process_request(request)
        response = views.user_profile(request,
                                      self.course.id.to_deprecated_string(),
                                      self.profiled_user.id)
        mock_request.assert_any_call("get",
                                     StringEndsWithMatcher(
                                         '/users/{}/active_threads'.format(
                                             self.profiled_user.id)),
                                     data=None,
                                     params=PartialDictMatcher({
                                         "course_id":
                                         self.course.id.to_deprecated_string(),
                                         "page":
                                         params.get("page", 1),
                                         "per_page":
                                         views.THREADS_PER_PAGE
                                     }),
                                     headers=ANY,
                                     timeout=ANY)
        return response
예제 #2
0
    def call_view_for_profiled_user(
            self, mock_request, requesting_user, profiled_user, group_id, pass_group_id, is_ajax=False
    ):
        """
        Calls "user_profile" view method on behalf of "requesting_user" to get information about
        the user "profiled_user".
        """
        kwargs = {}
        if group_id:
            kwargs['group_id'] = group_id
        mock_request.side_effect = make_mock_request_impl("dummy content", **kwargs)

        request_data = {}
        if pass_group_id:
            request_data["group_id"] = group_id
        headers = {}
        if is_ajax:
            headers['HTTP_X_REQUESTED_WITH'] = "XMLHttpRequest"
        request = RequestFactory().get(
            "dummy_url",
            data=request_data,
            **headers
        )
        request.user = requesting_user
        mako_middleware_process_request(request)
        return views.user_profile(
            request,
            self.course.id.to_deprecated_string(),
            profiled_user.id
        )
예제 #3
0
    def call_view_for_profiled_user(
            self, mock_request, requesting_user, profiled_user, group_id, pass_group_id, is_ajax=False
    ):
        """
        Calls "user_profile" view method on behalf of "requesting_user" to get information about
        the user "profiled_user".
        """
        kwargs = {}
        if group_id:
            kwargs['group_id'] = group_id
        mock_request.side_effect = make_mock_request_impl("dummy content", **kwargs)

        request_data = {}
        if pass_group_id:
            request_data["group_id"] = group_id
        headers = {}
        if is_ajax:
            headers['HTTP_X_REQUESTED_WITH'] = "XMLHttpRequest"
        request = RequestFactory().get(
            "dummy_url",
            data=request_data,
            **headers
        )
        request.user = requesting_user
        mako_middleware_process_request(request)
        return views.user_profile(
            request,
            self.course.id.to_deprecated_string(),
            profiled_user.id
        )
예제 #4
0
    def call_view(self,
                  mock_request,
                  commentable_id,
                  user,
                  group_id,
                  pass_group_id=True,
                  is_ajax=False):
        kwargs = {}
        if group_id:
            kwargs['group_id'] = group_id
        mock_request.side_effect = make_mock_request_impl(
            "dummy content", **kwargs)

        request_data = {}
        if pass_group_id:
            request_data["group_id"] = group_id
        headers = {}
        if is_ajax:
            headers['HTTP_X_REQUESTED_WITH'] = "XMLHttpRequest"
        request = RequestFactory().get("dummy_url",
                                       data=request_data,
                                       **headers)
        request.user = user
        mako_middleware_process_request(request)
        return views.user_profile(request,
                                  self.course.id.to_deprecated_string(),
                                  user.id)
예제 #5
0
 def test_post(self, mock_request):
     mock_request.side_effect = make_mock_request_impl(
         self.TEST_THREAD_TEXT, self.TEST_THREAD_ID)
     request = RequestFactory().post("dummy_url")
     request.user = self.student
     response = views.user_profile(request, self.course.id,
                                   self.profiled_user.id)
     self.assertEqual(response.status_code, 405)
예제 #6
0
 def test_404_course(self, mock_request):
     request = RequestFactory().get("dummy_url")
     request.user = self.student
     with self.assertRaises(Http404):
         response = views.user_profile(
             request,
             "non/existent/course",
             self.profiled_user.id
         )
예제 #7
0
 def test_404_profiled_user(self, mock_request):
     request = RequestFactory().get("dummy_url")
     request.user = self.student
     with self.assertRaises(Http404):
         response = views.user_profile(
             request,
             self.course.id.to_deprecated_string(),
             -999
         )
예제 #8
0
 def test_404_course(self, mock_request):
     request = RequestFactory().get("dummy_url")
     request.user = self.student
     with self.assertRaises(Http404):
         response = views.user_profile(
             request,
             "non/existent/course",
             self.profiled_user.id
         )
예제 #9
0
 def test_404_profiled_user(self, mock_request):
     request = RequestFactory().get("dummy_url")
     request.user = self.student
     with self.assertRaises(Http404):
         response = views.user_profile(
             request,
             self.course.id.to_deprecated_string(),
             -999
         )
예제 #10
0
 def test_post(self, mock_request):
     mock_request.side_effect = make_mock_request_impl(self.TEST_THREAD_TEXT, self.TEST_THREAD_ID)
     request = RequestFactory().post("dummy_url")
     request.user = self.student
     response = views.user_profile(
         request,
         self.course.id.to_deprecated_string(),
         self.profiled_user.id
     )
     self.assertEqual(response.status_code, 405)
예제 #11
0
    def _test_unicode_data(self, text, mock_request):
        mock_request.side_effect = make_mock_request_impl(text)
        request = RequestFactory().get("dummy_url")
        request.user = self.student
        request.META["HTTP_X_REQUESTED_WITH"] = "XMLHttpRequest" # so request.is_ajax() == True

        response = views.user_profile(request, self.course.id.to_deprecated_string(), str(self.student.id))
        self.assertEqual(response.status_code, 200)
        response_data = json.loads(response.content)
        self.assertEqual(response_data["discussion_data"][0]["title"], text)
        self.assertEqual(response_data["discussion_data"][0]["body"], text)
예제 #12
0
    def _test_unicode_data(self, text, mock_request):
        mock_request.side_effect = make_mock_request_impl(text)
        request = RequestFactory().get("dummy_url")
        request.user = self.student
        request.META["HTTP_X_REQUESTED_WITH"] = "XMLHttpRequest"  # so request.is_ajax() == True

        response = views.user_profile(request, self.course.id.to_deprecated_string(), str(self.student.id))
        self.assertEqual(response.status_code, 200)
        response_data = json.loads(response.content)
        self.assertEqual(response_data["discussion_data"][0]["title"], text)
        self.assertEqual(response_data["discussion_data"][0]["body"], text)
예제 #13
0
    def call_view(self,
                  mock_request,
                  commentable_id,
                  user,
                  group_id,
                  pass_group_id=True):
        mock_request.side_effect = make_mock_request_impl("dummy content")

        request_data = {}
        if pass_group_id:
            request_data["group_id"] = group_id
        request = RequestFactory().get("dummy_url", data=request_data)
        request.user = user
        mako_middleware_process_request(request)
        return views.user_profile(request,
                                  self.course.id.to_deprecated_string(),
                                  user.id)
예제 #14
0
 def get_response(self, mock_request, params, **headers):
     mock_request.side_effect = make_mock_request_impl(self.TEST_THREAD_TEXT, self.TEST_THREAD_ID)
     request = RequestFactory().get("dummy_url", data=params, **headers)
     request.user = self.student
     response = views.user_profile(
         request,
         self.course.id,
         self.profiled_user.id
     )
     mock_request.assert_any_call(
         "get",
         StringEndsWithMatcher('/users/{}/active_threads'.format(self.profiled_user.id)),
         data=None,
         params=PartialDictMatcher({
             "course_id": self.course.id,
             "page": params.get("page", 1),
             "per_page": views.THREADS_PER_PAGE
             }),
         headers=ANY,
         timeout=ANY
     )
     return response
예제 #15
0
    def call_view(self, mock_request, commentable_id, user, group_id, pass_group_id=True, is_ajax=False):
        kwargs = {}
        if group_id:
            kwargs['group_id'] = group_id
        mock_request.side_effect = make_mock_request_impl("dummy content", **kwargs)

        request_data = {}
        if pass_group_id:
            request_data["group_id"] = group_id
        headers = {}
        if is_ajax:
            headers['HTTP_X_REQUESTED_WITH'] = "XMLHttpRequest"
        request = RequestFactory().get(
            "dummy_url",
            data=request_data,
            **headers
        )
        request.user = user
        mako_middleware_process_request(request)
        return views.user_profile(
            request,
            self.course.id.to_deprecated_string(),
            user.id
        )