Beispiel #1
0
    def test_get_messages_list(self):
        view = MessageView()

        response = view.get(HttpRequest())
        self.assertEqual(HTTPStatus.OK.value, response.status_code)

        expected = [serialize_message(a) for a in self.data]
        actual = json.loads(response.content.decode('utf8'))
        self.assertEqual(expected, actual)
Beispiel #2
0
    def test_get_message_by_id(self):
        view = MessageView()

        response = view.get(HttpRequest(), self.data[0].id)
        self.assertEqual(HTTPStatus.OK.value, response.status_code)

        expected = serialize_message(self.data[0])
        actual = json.loads(response.content.decode('utf8'))[0]
        self.assertEqual(expected, actual)
Beispiel #3
0
    def test_delete_message_by_id_error_message_not_deleted(self):
        view = MessageView()

        response = view.delete(HttpRequest(), uuid.uuid4().__str__())
        self.assertEqual(HTTPStatus.OK.value, response.status_code)

        expected = {'status': 'No message deleted'}
        actual = json.loads(response.content.decode('utf8'))
        self.assertEqual(expected, actual)
Beispiel #4
0
    def test_delete_message_by_id(self):
        view = MessageView()

        response = view.delete(HttpRequest(), self.data[0].id)
        self.assertEqual(HTTPStatus.OK.value, response.status_code)

        expected = {'status': 'OK'}
        actual = json.loads(response.content.decode('utf8'))
        self.assertEqual(expected, actual)
Beispiel #5
0
    def test_post_messages_error_title_is_empty(self):
        view = MessageView()
        request = HttpRequest()
        request.data = {'title': '', 'text': 'test text 3'}

        response = view.post(request)
        self.assertEqual(HTTPStatus.BAD_REQUEST.value, response.status_code)

        expected = {'status': 'error', 'error': {'title': 'title is empty'}}
        actual = json.loads(response.content.decode('utf8'))
        self.assertEqual(expected, actual)
Beispiel #6
0
    def test_post_messages(self):
        view = MessageView()
        request = HttpRequest()
        request.data = {'title': 'test-title-3', 'text': 'test text 3'}

        response = view.post(request)
        self.assertEqual(HTTPStatus.CREATED.value, response.status_code)

        actual = json.loads(response.content.decode('utf8'))
        self.assertTrue('id' in actual and actual['id'])
        self.assertEqual(request.data['title'], actual['title'])
Beispiel #7
0
    def test_get_message_by_id_error_incorrect_uuid(self):
        view = MessageView()

        response = view.get(HttpRequest(), 'c_43a6f6-cc08-457c-af8c-7ff7f94405e6')
        self.assertEqual(
            HTTPStatus.BAD_REQUEST.value, response.status_code
        )

        expected = {'status': 'error', 'error': {'id': 'id is incorrect'}}
        actual = json.loads(response.content.decode('utf8'))
        self.assertEqual(expected, actual)
Beispiel #8
0
    def test_delete_message_by_id_error_during_deletion_message(self):
        view = MessageView()

        response = view.delete(HttpRequest(), 'Fake-id')
        self.assertEqual(
            HTTPStatus.BAD_REQUEST.value, response.status_code
        )

        expected = {'status': 'error', 'error': {'id': 'id is incorrect'}}
        actual = json.loads(response.content.decode('utf8'))
        self.assertEqual(expected, actual)
Beispiel #9
0
    def test_put_message_by_id(self):
        view = MessageView()
        request = HttpRequest()
        request.data = self.data[0]
        request.data.title = 'updated-title-1'
        request.data.read = True
        request.data = serialize_message(request.data)

        response = view.put(request, request.data['id'])
        self.assertEqual(HTTPStatus.OK.value, response.status_code)

        expected = {'status': 'OK'}
        actual = json.loads(response.content.decode('utf8'))
        self.assertEqual(expected, actual)
Beispiel #10
0
    def test_put_message_by_id_error_message_not_updated(self):
        view = MessageView()
        request = HttpRequest()
        request.data = self.data[0]
        request.data.title = 'updated-title-1'
        request.data.read = True
        request.data = {}

        response = view.put(request, self.data[0].id)
        self.assertEqual(
            HTTPStatus.INTERNAL_SERVER_ERROR.value, response.status_code
        )

        expected = {
            'status': 'error',
            'error': 'Message not updated'
        }
        actual = json.loads(response.content.decode('utf8'))
        self.assertEqual(expected, actual)