Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-rest-framework
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
django-rest-framework
Commits
f02b7f13
Commit
f02b7f13
authored
Jul 10, 2017
by
Ryan P Kilby
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add failing test for #4655
parent
6d4d4dfd
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
42 additions
and
0 deletions
+42
-0
tests/test_filters.py
+42
-0
No files found.
tests/test_filters.py
View file @
f02b7f13
...
@@ -645,6 +645,48 @@ class SearchFilterM2MTests(TestCase):
...
@@ -645,6 +645,48 @@ class SearchFilterM2MTests(TestCase):
)
)
class
Blog
(
models
.
Model
):
name
=
models
.
CharField
(
max_length
=
20
)
class
Entry
(
models
.
Model
):
blog
=
models
.
ForeignKey
(
Blog
,
on_delete
=
models
.
CASCADE
)
headline
=
models
.
CharField
(
max_length
=
120
)
pub_date
=
models
.
DateField
(
null
=
True
)
class
BlogSerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
Blog
fields
=
'__all__'
class
SearchFilterToManyTests
(
TestCase
):
@classmethod
def
setUpTestData
(
cls
):
b1
=
Blog
.
objects
.
create
(
name
=
'Blog 1'
)
b2
=
Blog
.
objects
.
create
(
name
=
'Blog 2'
)
Entry
.
objects
.
create
(
blog
=
b1
,
headline
=
'Something about Lennon'
,
pub_date
=
datetime
.
date
(
1979
,
1
,
1
))
Entry
.
objects
.
create
(
blog
=
b1
,
headline
=
'Another thing about Lennon'
,
pub_date
=
datetime
.
date
(
1979
,
6
,
1
))
Entry
.
objects
.
create
(
blog
=
b2
,
headline
=
'Something unrelated'
,
pub_date
=
datetime
.
date
(
1979
,
1
,
1
))
Entry
.
objects
.
create
(
blog
=
b2
,
headline
=
'Retrospective on Lennon'
,
pub_date
=
datetime
.
date
(
1990
,
6
,
1
))
def
test_multiple_filter_conditions
(
self
):
class
SearchListView
(
generics
.
ListAPIView
):
queryset
=
Blog
.
objects
.
all
()
serializer_class
=
BlogSerializer
filter_backends
=
(
filters
.
SearchFilter
,)
search_fields
=
(
'=name'
,
'entry__headline'
,
'=entry__pub_date__year'
)
view
=
SearchListView
.
as_view
()
request
=
factory
.
get
(
'/'
,
{
'search'
:
'Lennon,1979'
})
response
=
view
(
request
)
assert
len
(
response
.
data
)
==
1
class
OrderingFilterModel
(
models
.
Model
):
class
OrderingFilterModel
(
models
.
Model
):
title
=
models
.
CharField
(
max_length
=
20
,
verbose_name
=
'verbose title'
)
title
=
models
.
CharField
(
max_length
=
20
,
verbose_name
=
'verbose title'
)
text
=
models
.
CharField
(
max_length
=
100
)
text
=
models
.
CharField
(
max_length
=
100
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment