Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
flask-admin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Python-Dev
flask-admin
Commits
e17f8577
Commit
e17f8577
authored
Apr 03, 2012
by
Serge S. Koval
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More unit tests.
parent
b98bb7a3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
87 additions
and
5 deletions
+87
-5
test_sqlamodel.py
tests/test_sqlamodel.py
+87
-5
No files found.
tests/test_sqlamodel.py
View file @
e17f8577
...
@@ -23,15 +23,26 @@ class CustomModelView(ModelView):
...
@@ -23,15 +23,26 @@ class CustomModelView(ModelView):
def
create_models
(
db
):
def
create_models
(
db
):
class
Model1
(
db
.
Model
):
class
Model1
(
db
.
Model
):
def
__init__
(
self
,
test1
=
None
,
test2
=
None
,
test3
=
None
,
test4
=
None
):
self
.
test1
=
test1
self
.
test2
=
test2
self
.
test3
=
test3
self
.
test4
=
test4
id
=
db
.
Column
(
db
.
Integer
,
primary_key
=
True
)
id
=
db
.
Column
(
db
.
Integer
,
primary_key
=
True
)
test1
=
db
.
Column
(
db
.
String
(
20
))
test1
=
db
.
Column
(
db
.
String
(
20
))
test2
=
db
.
Column
(
db
.
Unicode
(
20
))
test2
=
db
.
Column
(
db
.
Unicode
(
20
))
test3
=
db
.
Column
(
db
.
Text
)
test3
=
db
.
Column
(
db
.
Text
)
test4
=
db
.
Column
(
db
.
UnicodeText
)
test4
=
db
.
Column
(
db
.
UnicodeText
)
class
Model2
(
db
.
Model
):
id
=
db
.
Column
(
db
.
Integer
,
primary_key
=
True
)
int_field
=
db
.
Column
(
db
.
Integer
)
bool_field
=
db
.
Column
(
db
.
Boolean
)
db
.
create_all
()
db
.
create_all
()
return
Model1
return
Model1
,
Model2
def
setup
():
def
setup
():
...
@@ -48,7 +59,7 @@ def setup():
...
@@ -48,7 +59,7 @@ def setup():
def
test_model
():
def
test_model
():
app
,
db
,
admin
=
setup
()
app
,
db
,
admin
=
setup
()
Model1
=
create_models
(
db
)
Model1
,
Model2
=
create_models
(
db
)
db
.
create_all
()
db
.
create_all
()
view
=
CustomModelView
(
Model1
,
db
.
session
)
view
=
CustomModelView
(
Model1
,
db
.
session
)
...
@@ -131,7 +142,7 @@ def test_no_pk():
...
@@ -131,7 +142,7 @@ def test_no_pk():
def
test_list_columns
():
def
test_list_columns
():
app
,
db
,
admin
=
setup
()
app
,
db
,
admin
=
setup
()
Model1
=
create_models
(
db
)
Model1
,
Model2
=
create_models
(
db
)
view
=
CustomModelView
(
Model1
,
db
.
session
,
view
=
CustomModelView
(
Model1
,
db
.
session
,
list_columns
=
[
'test1'
,
'test3'
],
list_columns
=
[
'test1'
,
'test3'
],
...
@@ -151,7 +162,7 @@ def test_list_columns():
...
@@ -151,7 +162,7 @@ def test_list_columns():
def
test_exclude_columns
():
def
test_exclude_columns
():
app
,
db
,
admin
=
setup
()
app
,
db
,
admin
=
setup
()
Model1
=
create_models
(
db
)
Model1
,
Model2
=
create_models
(
db
)
view
=
CustomModelView
(
Model1
,
db
.
session
,
view
=
CustomModelView
(
Model1
,
db
.
session
,
excluded_list_columns
=
[
'test2'
,
'test4'
])
excluded_list_columns
=
[
'test2'
,
'test4'
])
...
@@ -159,11 +170,17 @@ def test_exclude_columns():
...
@@ -159,11 +170,17 @@ def test_exclude_columns():
eq_
(
view
.
_list_columns
,
[(
'test1'
,
'Test1'
),
(
'test3'
,
'Test3'
)])
eq_
(
view
.
_list_columns
,
[(
'test1'
,
'Test1'
),
(
'test3'
,
'Test3'
)])
client
=
app
.
test_client
()
rv
=
client
.
get
(
'/admin/model1view/'
)
ok_
(
'Test1'
in
rv
.
data
)
ok_
(
'Test2'
not
in
rv
.
data
)
def
test_searchable_columns
():
def
test_searchable_columns
():
app
,
db
,
admin
=
setup
()
app
,
db
,
admin
=
setup
()
Model1
=
create_models
(
db
)
Model1
,
Model2
=
create_models
(
db
)
view
=
CustomModelView
(
Model1
,
db
.
session
,
view
=
CustomModelView
(
Model1
,
db
.
session
,
searchable_columns
=
[
'test1'
,
'test2'
])
searchable_columns
=
[
'test1'
,
'test2'
])
...
@@ -176,3 +193,68 @@ def test_searchable_columns():
...
@@ -176,3 +193,68 @@ def test_searchable_columns():
eq_
(
view
.
_search_fields
[
0
]
.
name
,
'test1'
)
eq_
(
view
.
_search_fields
[
0
]
.
name
,
'test1'
)
eq_
(
view
.
_search_fields
[
1
]
.
name
,
'test2'
)
eq_
(
view
.
_search_fields
[
1
]
.
name
,
'test2'
)
db
.
session
.
add
(
Model1
(
'model1'
))
db
.
session
.
add
(
Model1
(
'model2'
))
db
.
session
.
commit
()
client
=
app
.
test_client
()
rv
=
client
.
get
(
'/admin/model1view/?search=model1'
)
ok_
(
'model1'
in
rv
.
data
)
ok_
(
'model2'
not
in
rv
.
data
)
def
test_column_filters
():
app
,
db
,
admin
=
setup
()
Model1
,
Model2
=
create_models
(
db
)
view
=
CustomModelView
(
Model1
,
db
.
session
,
column_filters
=
[
'test1'
])
admin
.
add_view
(
view
)
eq_
(
len
(
view
.
_filters
),
4
)
eq_
(
view
.
_filter_names
,
[
'Test1 equals'
,
'Test1 not equal'
,
'Test1 like'
,
'Test1 not like'
])
db
.
session
.
add
(
Model1
(
'model1'
))
db
.
session
.
add
(
Model1
(
'model2'
))
db
.
session
.
add
(
Model1
(
'model3'
))
db
.
session
.
add
(
Model1
(
'model4'
))
db
.
session
.
commit
()
client
=
app
.
test_client
()
rv
=
client
.
get
(
'/admin/model1view/?flt0=0&flt0v=model1'
)
eq_
(
rv
.
status_code
,
200
)
ok_
(
'model1'
in
rv
.
data
)
ok_
(
'model2'
not
in
rv
.
data
)
rv
=
client
.
get
(
'/admin/model1view/?flt0=5'
)
eq_
(
rv
.
status_code
,
200
)
ok_
(
'model1'
in
rv
.
data
)
ok_
(
'model2'
in
rv
.
data
)
# Test different filter types
view
=
CustomModelView
(
Model2
,
db
.
session
,
column_filters
=
[
'int_field'
])
admin
.
add_view
(
view
)
eq_
(
view
.
_filter_names
,
[
'Int Field equals'
,
'Int Field not equal'
,
'Int Field greater than'
,
'Int Field smaller than'
])
def
test_url_args
():
app
,
db
,
admin
=
setup
()
Model1
,
Model2
=
create_models
(
db
)
def
test_form
():
# TODO: form_columns
# TODO: excluded_form_columns
# TODO: form_args
pass
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