Exemple #1
0
    def test_update_faq_succeeds(self):
        new_role = RoleFactory.create(name='admin')

        new_user_role = UserRoleFactory.create(user_id=self.user_id(),
                                               role=new_role)

        faq = FaqFactory()
        update_faq_info = FaqFactory.build()

        faq_data = dict(question=update_faq_info.question,
                        answer=update_faq_info.answer)

        response = self.client().patch(
            self.make_url(f"/faqs/{faq.id}"),
            headers=self.headers(),
            data=self.encode_to_json_string(faq_data))

        response_json = self.decode_from_json_string(
            response.data.decode('utf-8'))

        self.assertEqual(response.status_code, 201)
        self.assertEqual(response_json['msg'], 'OK')
        self.assertEqual(response_json['payload']['faq']['question'],
                         update_faq_info.question)
        self.assertEqual(response_json['payload']['faq']['answer'],
                         update_faq_info.answer)

        self.assertEqual(response_json['payload']['faq']['question'],
                         faq.question)
        self.assertEqual(response_json['payload']['faq']['answer'], faq.answer)
    def test_update_faq_method_handle_not_found(self,
                                                mock_request_params_dict):
        with self.app.app_context():
            faq = FaqFactory()
            update_faq_info = FaqFactory.build()

            mock_request_params_dict.return_value = {
                'question': update_faq_info.question
            }

            faq_controller = FaqController(self.request_context)

            response = faq_controller.update_faq(1000)

            self.assertEqual(response.status_code, 404)
            self.assertEqual(response.get_json()['msg'], 'FAQ Not Found')
    def test_update_faq_method_succeeds(self, mock_request_params_dict):
        with self.app.app_context():
            faq = FaqFactory()
            update_faq_info = FaqFactory.build()

            mock_request_params_dict.return_value = {
                'question': update_faq_info.question
            }

            faq_controller = FaqController(self.request_context)

            response = faq_controller.update_faq(faq.id)

            self.assertEqual(response.status_code, 201)
            self.assertEqual(response.get_json()['msg'], 'OK')
            self.assertEqual(response.get_json()['payload']['faq']['question'],
                             update_faq_info.question)
    def test_new_faq_method_returns_new_faq_object(self):
        faq = FaqFactory.build()

        new_faq = self.repo.new_faq(faq.category, faq.question, faq.answer)

        self.assertIsInstance(new_faq, Faq)
        self.assertEqual(new_faq.category, faq.category)
        self.assertEqual(new_faq.question, faq.question)
        self.assertEqual(new_faq.answer, faq.answer)
    def test_delete_faq_method_handles_not_found(self):
        with self.app.app_context():
            faq = FaqFactory.create(is_deleted=True)

            faq_controller = FaqController(self.request_context)

            response = faq_controller.delete_faq(faq.id)

            self.assertEqual(response.status_code, 404)
            self.assertEqual(response.get_json()['msg'], 'FAQ Not Found')
    def test_list_faq_method_returns_faqs(self):
        with self.app.app_context():
            new_faq = FaqFactory.create()
            faq_controller = FaqController(self.request_context)

            response = faq_controller.list_faqs()

            self.assertEqual(response.status_code, 200)
            self.assertEqual(response.get_json()['msg'], 'OK')
            self.assertEqual(response.get_json()['payload']['faqs'][0]['id'],
                             new_faq.id)
    def test_delete_faq_method_succeeds(self):
        with self.app.app_context():
            faq = FaqFactory()

            faq_controller = FaqController(self.request_context)

            response = faq_controller.delete_faq(faq.id)

            self.assertEqual(response.status_code, 200)
            self.assertEqual(response.get_json()['msg'],
                             'FAQ deleted successfully')
Exemple #8
0
    def test_get_faq_succeeds(self):

        new_faq = FaqFactory.create()

        response = self.client().get(self.make_url("/faqs/"),
                                     query_string={'id': str(new_faq.id)},
                                     headers=self.headers())

        response_json = self.decode_from_json_string(
            response.data.decode('utf-8'))

        self.assert200(response)
        self.assertEqual(response_json['msg'], 'OK')
        self.assertEqual(response_json['payload']['faqs'][0]['id'], new_faq.id)
    def test_create_faq_method_handles_duplicate_faq_creation(
            self, mock_request_params):
        with self.app.app_context():
            faq = FaqFactory()

            mock_request_params.return_value = [
                faq.category, faq.question, faq.answer
            ]

            faq_controller = FaqController(self.request_context)

            response = faq_controller.create_faq()

            self.assertEqual(response.status_code, 400)
            self.assertEqual(
                response.get_json()['msg'],
                "Question '{}' already exists".format(faq.question))
Exemple #10
0
    def test_delete_faq_succeeds(self):

        new_role = RoleFactory.create(name='admin')

        new_user_role = UserRoleFactory.create(user_id=self.user_id(),
                                               role=new_role)

        faq = FaqFactory()

        response = self.client().delete(self.make_url(f"/faqs/{faq.id}"),
                                        headers=self.headers())

        response_json = self.decode_from_json_string(
            response.data.decode('utf-8'))

        self.assertEqual(response.status_code, 200)
        self.assertEqual(response_json['msg'], 'FAQ deleted successfully')
    def test_create_faq_method_succeeds(self, mock_request_params):
        with self.app.app_context():
            faq = FaqFactory.build()

            mock_request_params.return_value = [
                faq.category, faq.question, faq.answer
            ]

            faq_controller = FaqController(self.request_context)

            response = faq_controller.create_faq()

            self.assertEqual(response.status_code, 201)
            self.assertEqual(response.get_json()['msg'], 'OK')
            self.assertEqual(response.get_json()['payload']['faq']['question'],
                             faq.question)
            self.assertEqual(response.get_json()['payload']['faq']['answer'],
                             faq.answer)