Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cs_comments_service
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
cs_comments_service
Commits
a191ed38
Commit
a191ed38
authored
Jan 14, 2016
by
wajeeha-khalid
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MA-1930 add thread count in GET
parent
fa2a2603
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
5 deletions
+22
-5
.ruby-version
+0
-1
lib/helpers.rb
+1
-1
spec/api/comment_thread_spec.rb
+21
-3
No files found.
.ruby-version
deleted
100644 → 0
View file @
fa2a2603
1.9.3-p551
lib/helpers.rb
View file @
a191ed38
...
...
@@ -225,7 +225,7 @@ helpers do
pres_threads
=
ThreadListPresenter
.
new
(
threads
,
request_user
,
course_id
)
collection
=
pres_threads
.
to_hash
end
{
collection:
collection
,
num_pages:
num_pages
,
page:
page
}
{
collection:
collection
,
num_pages:
num_pages
,
page:
page
,
thread_count:
comment_threads
.
count
}
end
end
...
...
spec/api/comment_thread_spec.rb
View file @
a191ed38
...
...
@@ -334,29 +334,46 @@ describe "app" do
end
context
"pagination"
do
def
thread_result_page
(
sort_key
,
sort_order
,
page
,
per_page
,
user_id
=
nil
,
unread
=
false
)
get
"/api/v1/threads"
,
course_id:
DFLT_COURSE_ID
,
sort_key:
sort_key
,
sort_order:
sort_order
,
page:
page
,
per_page:
per_page
,
user_id:
user_id
,
unread:
unread
def
thread_result_page
(
sort_key
,
sort_order
,
page
,
per_page
,
course_id
=
DFLT_COURSE_ID
,
user_id
=
nil
,
unread
=
false
)
get
"/api/v1/threads"
,
course_id:
course_id
,
sort_key:
sort_key
,
sort_order:
sort_order
,
page:
page
,
per_page:
per_page
,
user_id:
user_id
,
unread:
unread
last_response
.
should
be_ok
parse
(
last_response
.
body
)
end
it
"returns single page with no threads in a course"
do
result
=
thread_result_page
(
"date"
,
"desc"
,
1
,
20
,
"99"
)
result
[
"collection"
].
length
.
should
==
0
result
[
"thread_count"
].
should
==
0
result
[
"num_pages"
].
should
==
1
result
[
"page"
].
should
==
1
end
it
"returns single page"
do
result
=
thread_result_page
(
"date"
,
"desc"
,
1
,
20
)
result
[
"collection"
].
length
.
should
==
10
result
[
"thread_count"
].
should
==
10
result
[
"num_pages"
].
should
==
1
result
[
"page"
].
should
==
1
end
it
"returns multiple pages"
do
result
=
thread_result_page
(
"date"
,
"desc"
,
1
,
5
)
result
[
"collection"
].
length
.
should
==
5
result
[
"thread_count"
].
should
==
10
result
[
"num_pages"
].
should
==
2
result
[
"page"
].
should
==
1
result
=
thread_result_page
(
"date"
,
"desc"
,
2
,
5
)
result
[
"collection"
].
length
.
should
==
5
result
[
"thread_count"
].
should
==
10
result
[
"num_pages"
].
should
==
2
result
[
"page"
].
should
==
2
end
it
"returns page exceeding available pages with no results"
do
#TODO: Review whether we can switch pagination endpoint to raise an exception; rather than an empty page
result
=
thread_result_page
(
"date"
,
"desc"
,
3
,
5
)
result
[
"collection"
].
length
.
should
==
0
result
[
"thread_count"
].
should
==
10
result
[
"num_pages"
].
should
==
2
result
[
"page"
].
should
==
3
end
def
test_paged_order
(
sort_spec
,
expected_order
,
filter_spec
=
[],
user_id
=
nil
)
# sort spec is a hash with keys: sort_key, sort_dir, per_page
...
...
@@ -372,6 +389,7 @@ describe "app" do
sort_spec
[
'sort_dir'
],
page
,
per_page
,
DFLT_COURSE_ID
,
user_id
,
filter_spec
.
include?
(
"unread"
)
)
...
...
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