Exemple #1
0
    def test_get_object(self, mock_get_queryset):
        field = MultiplePKsHyperlinkedIdentityField(
            'foo',
            lookup_fields=['one', 'two'],
            lookup_url_kwargs=['foo', 'bar'],
        )

        actual = field.get_object(None, None, {'foo': 'value', 'bar': 'other'})

        assert actual == mock_get_queryset.return_value.get.return_value
        mock_get_queryset.assert_called_once_with()
        mock_get_queryset.return_value.get.assert_called_once_with(
            one='value', two='other'
        )
Exemple #2
0
 def test_init_assertion(self):
     with pytest.raises(AssertionError):
         MultiplePKsHyperlinkedIdentityField(
             'foo',
             lookup_fields=['pk'],
             lookup_url_kwargs=['pk', 'id'],
         )
Exemple #3
0
    def test_get_url(self):
        field = MultiplePKsHyperlinkedIdentityField(
            'foo',
            lookup_fields=['one', 'two'],
            lookup_url_kwargs=['foo', 'bar'],
        )
        mock_reverse = field.reverse = mock.MagicMock()

        actual = field.get_url(
            mock.Mock(pk=1, one='value', two='here'),
            mock.sentinel.view_name,
            mock.sentinel.request,
            mock.sentinel.format,
        )

        assert actual == mock_reverse.return_value
        mock_reverse.assert_called_once_with(
            mock.sentinel.view_name,
            kwargs={'foo': 'value', 'bar': 'here'},
            request=mock.sentinel.request,
            format=mock.sentinel.format,
        )
Exemple #4
0
    def test_get_url_no_obj_pk(self):
        field = MultiplePKsHyperlinkedIdentityField('foo')

        assert field.get_url(mock.Mock(pk=None), None, None, None) is None
Exemple #5
0
    def test_init(self):
        field = MultiplePKsHyperlinkedIdentityField('foo')

        assert field.lookup_fields == ['pk']
        assert field.lookup_url_kwargs == ['pk']