Skip to content

Commit

Permalink
fix jumping to first image
Browse files Browse the repository at this point in the history
  • Loading branch information
intracer committed Jul 17, 2018
1 parent 8fcf30f commit b642e89
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
4 changes: 3 additions & 1 deletion app/controllers/LargeView.scala
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,15 @@ object LargeView extends Controller with Secured {

roundOption.fold(Redirect(routes.Gallery.list(user.getId, 1, region, roundId, rate))) { round =>

val result = checkLargeIndex(user, rate, pageId, region, round, module)

if (criteria.isEmpty) {
SelectionJdbc.rate(pageId = pageId, juryId = user.getId, roundId = round.getId, rate = select)
} else {
val selection = SelectionJdbc.findBy(pageId, user.getId, roundId).get
CriteriaRate.updateRate(selection.getId, criteria.get, select)
}
checkLargeIndex(user, rate, pageId, region, round, module)
result
}
}

Expand Down
16 changes: 16 additions & 0 deletions test/controllers/LargeImageSpec.scala
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.large(user.id.get, images.head.pageId, roundId = round.id.get, rate = None, module = "gallery")
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.head.pageId}?rate=0"))
.run()

status(result) mustEqual OK
contentAsJson(result) mustEqual mkJson(imageJson(0), imageJson(1))
Expand All @@ -133,6 +134,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.large(user.id.get, images.last.pageId, roundId = round.id.get, rate = None, module = "byrate")
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.last.pageId}?module=byrate"))
.run()

status(result) mustEqual OK
contentAsJson(result) mustEqual mkJson(imageJson(1, rate = 5), imageJson(0, rate = 3))
Expand All @@ -151,6 +153,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.large(user.id.get, images.head.pageId, roundId = round.id.get, rate = Some(0), module = "gallery")
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.head.pageId}?rate=0"))
.run()

status(result) mustEqual OK
contentAsJson(result) mustEqual mkJson(imageJson(0))
Expand All @@ -169,6 +172,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.large(user.id.get, images.last.pageId, roundId = round.id.get, rate = Some(0), module = "gallery")
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.last.pageId}?rate=0"))
.run()

status(result) mustEqual OK
contentAsJson(result) mustEqual mkJson(imageJson(1))
Expand All @@ -187,6 +191,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.large(user.id.get, images.head.pageId, roundId = round.id.get, rate = None, module = "byrate")
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.head.pageId}?module=byrate"))
.run()

status(result) mustEqual OK
contentAsJson(result) mustEqual mkJson(imageJson(0, rate = 5), imageJson(1, rate = 0))
Expand All @@ -205,6 +210,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.large(user.id.get, images.last.pageId, roundId = round.id.get, rate = None, module = "byrate")
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.last.pageId}?module=byrate"))
.run()

status(result) mustEqual OK
contentAsJson(result) mustEqual mkJson(imageJson(1, rate = 5), imageJson(0, rate = 0))
Expand All @@ -222,6 +228,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.rateByPageId(round.id.get, images.head.pageId, select = 5, module = "gallery", rate = Some(0))
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.head.pageId}/select/5?rate=0"))
.run()

status(result) mustEqual SEE_OTHER
redirectLocation(result) must beSome.which(_ === s"/gallery/round/${round.id.get}/user/${user.id.get}/page/1?rate=0")
Expand All @@ -239,6 +246,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.rateByPageId(round.id.get, images.head.pageId, select = 0, module = "gallery", rate = None)
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.head.pageId}/select/0?module=byrate"))
.run()

status(result) mustEqual SEE_OTHER
redirectLocation(result) must beSome.which(_ === s"/gallery/round/${round.id.get}/user/${user.id.get}/page/1")
Expand All @@ -256,6 +264,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.rateByPageId(round.id.get, images.head.pageId, select = 3, module = "byrate", rate = None)
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.head.pageId}/select/0?module=byrate"))
.run()

status(result) mustEqual SEE_OTHER
redirectLocation(result) must beSome.which(_ === s"/byrate/round/${round.id.get}/user/${user.id.get}/page/1")
Expand All @@ -274,6 +283,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.rateByPageId(round.id.get, images.head.pageId, select = 2, module = "byrate", rate = None)
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.head.pageId}/select/0?module=byrate"))
.run()

status(result) mustEqual SEE_OTHER
redirectLocation(result) must beSome.which(_ === s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.last.pageId}?module=byrate")
Expand All @@ -292,6 +302,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.rateByPageId(round.id.get, images.last.pageId, select = 4, module = "byrate", rate = None)
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.last.pageId}/select/0?module=byrate"))
.run()

status(result) mustEqual SEE_OTHER
redirectLocation(result) must beSome.which(_ === s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.head.pageId}?module=byrate")
Expand All @@ -310,6 +321,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.rateByPageId(round.id.get, images.head.pageId, select = 5, module = "gallery", rate = Some(0))
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.head.pageId}/select/5?rate=0"))
.run()

status(result) mustEqual SEE_OTHER
redirectLocation(result) must beSome.which(_ === s"/gallery/round/${round.id.get}/user/${user.id.get}/page/1?rate=0")
Expand All @@ -328,6 +340,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.rateByPageId(round.id.get, images.last.pageId, select = 5, module = "gallery", rate = Some(0))
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.last.pageId}/select/5?rate=0"))
.run()

status(result) mustEqual SEE_OTHER
redirectLocation(result) must beSome.which(_ === s"/gallery/round/${round.id.get}/user/${user.id.get}/page/1?rate=0")
Expand All @@ -345,6 +358,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.rateByPageId(round.id.get, images.head.pageId, select = 5, module = "gallery", rate = Some(0))
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.head.pageId}/select/5?rate=0"))
.run()

status(result) mustEqual SEE_OTHER
redirectLocation(result) must beSome.which(_ === s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.last.pageId}?rate=0")
Expand All @@ -362,6 +376,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.rateByPageId(round.id.get, images.last.pageId, select = 5, module = "gallery", rate = Some(0))
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.last.pageId}/select/5?rate=0"))
.run()

status(result) mustEqual SEE_OTHER
redirectLocation(result) must beSome.which(_ === s"/large/round/${round.id.get}/user/${user.id.get}/pageid/${images.head.pageId}?rate=0")
Expand All @@ -382,6 +397,7 @@ class LargeImageSpec extends PlaySpecification with InMemDb {

val result = LargeView.rateByPageId(round.id.get, pageId, select = 5, module = "gallery", rate = Some(0))
.apply(request(s"/large/round/${round.id.get}/user/${user.id.get}/pageid/$pageId/select/5?rate=0"))
.run()

status(result) mustEqual SEE_OTHER
redirectLocation(result) must beSome.which(_ === s"/large/round/${round.id.get}/user/${user.id.get}/pageid/$nextPageId?rate=0")
Expand Down

0 comments on commit b642e89

Please sign in to comment.