Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
teknikattan-scoring-system
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
tddd96-grupp1
teknikattan-scoring-system
Commits
c73f9344
"shared/menu.js" did not exist on "56147009fcfd96d88428a21697d8dd352696c0bc"
Commit
c73f9344
authored
3 years ago
by
Victor Löfgren
Browse files
Options
Downloads
Patches
Plain Diff
Fix test_copy
parent
d05c3a3e
No related branches found
No related tags found
1 merge request
!161
Resolve "replace-restx-with-smorest"
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
server/app/database/__init__.py
+3
-0
3 additions, 0 deletions
server/app/database/__init__.py
server/app/database/controller/search.py
+5
-11
5 additions, 11 deletions
server/app/database/controller/search.py
server/tests/test_db.py
+5
-6
5 additions, 6 deletions
server/tests/test_db.py
with
13 additions
and
17 deletions
server/app/database/__init__.py
+
3
−
0
View file @
c73f9344
...
...
@@ -5,6 +5,7 @@ database. It can add, get, delete, edit, search and copy items.
from
app.apis
import
http_codes
from
flask_smorest
import
abort
from
flask_smorest.pagination
import
PaginationParameters
# from flask_restx import abort
from
flask_sqlalchemy
import
BaseQuery
...
...
@@ -66,6 +67,8 @@ class ExtendedQuery(BaseQuery):
:rtype: list, int
"""
pagination_parameters
=
pagination_parameters
or
PaginationParameters
(
page
=
1
,
page_size
=
10
)
if
order_column
:
self
=
self
.
order_by
(
order_column
if
order
==
1
else
order_column
.
desc
())
...
...
This diff is collapsed.
Click to expand it.
server/app/database/controller/search.py
+
5
−
11
View file @
c73f9344
...
...
@@ -5,7 +5,7 @@ This file contains functionality to find data to the database.
from
app.database.models
import
Competition
,
Media
,
Question
,
Slide
,
User
def
image
(
pagination_parameters
,
filename
=
None
,
order
=
1
,
order_by
=
None
):
def
image
(
pagination_parameters
=
None
,
filename
=
None
,
order
=
1
,
order_by
=
None
):
"""
Finds and returns an image from the file name.
"""
query
=
Media
.
query
.
filter
(
Media
.
type_id
==
1
)
...
...
@@ -16,7 +16,7 @@ def image(pagination_parameters, filename=None, order=1, order_by=None):
def
user
(
pagination_parameters
,
pagination_parameters
=
None
,
email
=
None
,
name
=
None
,
city_id
=
None
,
...
...
@@ -38,7 +38,7 @@ def user(
def
competition
(
pagination_parameters
,
pagination_parameters
=
None
,
name
=
None
,
year
=
None
,
city_id
=
None
,
...
...
@@ -57,13 +57,11 @@ def competition(
def
slide
(
pagination_paramters
=
None
,
slide_order
=
None
,
title
=
None
,
body
=
None
,
competition_id
=
None
,
page
=
0
,
page_size
=
15
,
order
=
1
,
order_by
=
None
,
):
"""
Finds and returns a slide from the provided parameters.
"""
...
...
@@ -78,11 +76,7 @@ def slide(
if
competition_id
:
query
=
query
.
filter
(
Slide
.
competition_id
==
competition_id
)
order_column
=
Slide
.
id
# Default order_by
if
order_by
:
order_column
=
getattr
(
Slide
.
__table__
.
c
,
order_by
)
return
query
.
pagination
(
page
,
page_size
,
order_column
,
order
)
return
query
.
paginate_api
(
pagination_paramters
)
def
questions
(
...
...
This diff is collapsed.
Click to expand it.
server/tests/test_db.py
+
5
−
6
View file @
c73f9344
...
...
@@ -84,13 +84,13 @@ def test_copy(client):
add_default_values
()
# Fetches a competition
list_item_competitions
,
_
=
dbc
.
search
.
competition
(
name
=
"
Tävling 1
"
)
list_item_competitions
=
dbc
.
search
.
competition
(
name
=
"
Tävling 1
"
)
item_competition_original
=
list_item_competitions
[
0
]
# Fetches the first slide in that competition
num_slides
=
3
item_slides
,
total
=
dbc
.
search
.
slide
(
competition_id
=
item_competition_original
.
id
)
assert
total
==
num_slides
item_slides
=
dbc
.
search
.
slide
(
competition_id
=
item_competition_original
.
id
)
assert
len
(
item_slides
)
==
num_slides
item_slide_original
=
item_slides
[
1
]
dbc
.
delete
.
slide
(
item_slides
[
0
])
...
...
@@ -140,7 +140,6 @@ def test_copy(client):
assert_all_slide_orders
()
@pytest.mark.skipif
(
DISABLE_TESTS
,
reason
=
"
Only run when DISABLE_TESTS is enabled
"
)
def
check_slides_copy
(
item_slide_original
,
item_slide_copy
,
num_slides
,
order
):
"""
Checks that two slides are correct copies of each other.
...
...
@@ -198,11 +197,11 @@ def check_slides_copy(item_slide_original, item_slide_copy, num_slides, order):
assert
a2
.
question_id
==
q2
.
id
# Checks that the copy put the slide in the database
item_slides
,
total
=
dbc
.
search
.
slide
(
item_slides
=
dbc
.
search
.
slide
(
competition_id
=
item_slide_copy
.
competition_id
,
# page_size=num_slides + 1, # Use this total > 15
)
assert
total
==
num_slides
assert
len
(
item_slides
)
==
num_slides
assert
item_slide_copy
==
item_slides
[
order
]
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment