def test_invalid_registration(self, mock_Response, mock_UserSerializer):
        mock_Response.return_value = Response()
        mock_userserializer_instance = mock.Mock()
        mock_UserSerializer.return_value = mock_userserializer_instance
        mock_userserializer_instance.is_valid.return_value = False
        mock_userserializer_instance._errors = {}

        request = MockHttpRequest(POST=VALID_DATA)

        register(request)

        mock_UserSerializer.assert_called_with(data=VALID_DATA)
        mock_Response.assert_called_with(mock_userserializer_instance._errors,
                                         status=status.HTTP_400_BAD_REQUEST)
    def test_invalid_registration(self, mock_Response, mock_UserSerializer):
        mock_Response.return_value = Response()
        mock_userserializer_instance = mock.Mock()
        mock_UserSerializer.return_value = mock_userserializer_instance
        mock_userserializer_instance.is_valid.return_value = False
        mock_userserializer_instance._errors = {}

        request = MockHttpRequest(POST=VALID_DATA)

        register(request)

        mock_UserSerializer.assert_called_with(data=VALID_DATA)
        mock_Response.assert_called_with(
            mock_userserializer_instance._errors,
            status=status.HTTP_400_BAD_REQUEST)
    def test_valid_registration(self, mock_Response, mock_UserSerializer,
                                mock_create_incative_user, mock_get_user_data):
        created_user = '******'
        mock_Response.return_value = Response()
        mock_userserializer_instance = mock.Mock()
        mock_userserializer_instance.data = VALID_DATA
        mock_UserSerializer.return_value = mock_userserializer_instance
        mock_userserializer_instance.is_valid.return_value = True
        mock_create_user = mock.Mock()
        mock_create_user.return_value = created_user
        mock_objects = mock.Mock()
        mock_objects.create_user = mock_create_user
        mock_user_model = mock.Mock()
        mock_user_model.objects = mock_objects
        mock_get_user_data.return_value = VALID_DATA

        request = MockHttpRequest(POST=VALID_DATA)

        register(request)

        mock_UserSerializer.assert_called_with(data=VALID_DATA)
        mock_Response.assert_called_with(utils.USER_CREATED_RESPONSE_DATA,
                                         status=status.HTTP_201_CREATED)
        mock_create_incative_user.assert_called_with(**VALID_DATA)
    def test_valid_registration(self, mock_Response, mock_UserSerializer, mock_create_incative_user, mock_get_user_data):
        created_user = '******'
        mock_Response.return_value = Response()
        mock_userserializer_instance = mock.Mock()
        mock_userserializer_instance.data = VALID_DATA
        mock_UserSerializer.return_value = mock_userserializer_instance
        mock_userserializer_instance.is_valid.return_value = True
        mock_create_user = mock.Mock()
        mock_create_user.return_value = created_user
        mock_objects = mock.Mock()
        mock_objects.create_user = mock_create_user
        mock_user_model = mock.Mock()
        mock_user_model.objects = mock_objects
        mock_get_user_data.return_value = VALID_DATA

        request = MockHttpRequest(POST=VALID_DATA)

        register(request)

        mock_UserSerializer.assert_called_with(data=VALID_DATA)
        mock_Response.assert_called_with(
            utils.USER_CREATED_RESPONSE_DATA,
            status=status.HTTP_201_CREATED)
        mock_create_incative_user.assert_called_with(**VALID_DATA)