Advertisement
Guest User

Untitled

a guest
Mar 5th, 2014
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 7.94 KB | None | 0 0
  1. package end2end.broker.rankings
  2.  
  3. import org.joda.time.DateTime
  4. import helper.UserStepHelpers
  5. import helper.base.BaseAcceptanceSpec
  6. import core.models.RankingUser
  7. import core.models.User
  8.  
  9. import com.timgroup.test.narrative._
  10. import RespondTo.respond_to
  11. import RankingRequestBuilder.the_ranking_request
  12. import RankingResultsRequestBuilder.the_ranking_results_request
  13. import RankingIdeasRequestBuilder.the_ranking_ideas_request
  14. import IdeaHistoryRequestBuilder.the_idea_history_request
  15. import ViewingUser.viewing
  16. import ViewTheRankingPage.view_the_rankings_page
  17. import TheRankingNames.the_ranking_names
  18. import ChooseTheRankingNamed.choose_the_ranking_named
  19. import ChooseTheBrokerWithId.choose_the_broker_with_id
  20. import ChooseTheIdeaWithId.choose_the_idea_with_id
  21. import TheSelectedRankings.the_selected_rankings
  22. import TheRankingsBrokerIds.the_rankings_broker_ids
  23. import TheSelectedBrokerIdeaIds.the_selected_broker_idea_ids
  24. import TheSelectedIdeaHistoryId.the_selected_idea_history_id
  25. import RankingsXmlBuilder.a_ranking_xml
  26. import ARankingBuilder.a_ranking_named
  27. import ARankingBuilder.a_ranking
  28. import RankingResultsXmlBuilder.a_ranking_results_xml
  29. import ARankingResultBuilder.a_ranking_result
  30. import IdeasXmlBuilder.an_ideas_xml
  31. import AnIdeaBuilder.an_idea_with_id
  32. import AnIdeaBuilder.an_idea
  33. import AnIdeaHistoryBuilder.an_idea_history_with_id
  34.  
  35.  
  36. class RankingsSpec extends BaseAcceptanceSpec with UserStepHelpers {
  37.  
  38. val equities_service = new StubEquitiesServiceActor
  39.  
  40. describe("Can see the users' rankings") {
  41.  
  42. val firstDate = new DateTime(2013, 3, 5, 12, 55)
  43. val secondDate = new DateTime(2013, 3, 5, 17, 55)
  44.  
  45. def randomUser() = usersRepo.insert(randomUsername, RankingUser).get
  46.  
  47.  
  48. it("First rankings have the expected brokers") {
  49.   val user = randomUser()
  50.   val viewer = viewing(user)
  51.  
  52.   Given.the(equities_service)
  53.        .was_able_to(respond_to(the_ranking_request.for_user(user))
  54.                      .with_response(a_ranking_xml.containing(a_ranking_named("MTD").with_id("mtd"))
  55.                                                  .containing(a_ranking_named("YTD").with_id("ytd")).get()))
  56.  
  57.        .was_able_to(respond_to(the_ranking_results_request.for_user(user)
  58.                                                           .and_ranking("mtd"))
  59.                      .with_response(a_ranking_results_xml.containing(a_ranking_result.for_broker_id("broker-1")
  60.                                                                                     .with_rank(13))
  61.                                                          .containing(a_ranking_result.for_broker_id("broker-2")
  62.                                                                                     .with_rank(25)).get()))
  63.  
  64.   When.the(viewer).attempts_to(view_the_rankings_page)
  65.  
  66.   Then.the(viewer).expects_that(the_ranking_names)(_ should equal(List("MTD", "YTD")))
  67.                   .and_that(the_rankings_broker_ids)(_ should equal(List("broker-1", "broker-2")))
  68. }
  69.  
  70. it("Selected Rankings' Brokers are Present") {
  71.   val user = randomUser()
  72.   val viewer = viewing(user)
  73.  
  74.   Given.the(equities_service)
  75.        .was_able_to(respond_to(the_ranking_request.for_user(user))
  76.                      .with_response(a_ranking_xml.containing(a_ranking_named("MTD").with_id("mtd"))
  77.                                                  .containing(a_ranking_named("YTD").with_id("ytd")).get()))
  78.  
  79.        .was_able_to(respond_to(the_ranking_results_request.for_user(user)
  80.                                                           .and_ranking("mtd"))
  81.                      .with_response(a_ranking_results_xml.get()))
  82.        .was_able_to(respond_to(the_ranking_results_request.for_user(user)
  83.                                                           .and_ranking("ytd"))
  84.                      .with_response(a_ranking_results_xml.containing(a_ranking_result.for_broker_id("broker-3")
  85.                                                                                      .with_rank(5))
  86.                                                          .containing(a_ranking_result.for_broker_id("broker-4")
  87.                                                                                      .with_rank(11)).get()))
  88.  
  89.   When.the(viewer).attempts_to(view_the_rankings_page)
  90.                   .and_to(choose_the_ranking_named("YTD"))
  91.  
  92.   Then.the(viewer).expects_that(the_selected_rankings)(_ should be(List("YTD")))
  93.                   .and_that(the_rankings_broker_ids)(_ should equal(List("broker-3", "broker-4")))
  94. }
  95.  
  96. it("Second Broker's Ideas are Present after selecting the Second Broker") {
  97.   val user = randomUser()
  98.   val viewer = viewing(user)
  99.  
  100.   Given.the(equities_service)
  101.        .was_able_to(respond_to(the_ranking_request.for_user(user))
  102.                      .with_response(a_ranking_xml.containing(a_ranking(name = "MTD", id = "mtd")).get()))
  103.  
  104.        .was_able_to(respond_to(the_ranking_results_request.for_user(user)
  105.                                                           .and_ranking("mtd"))
  106.                      .with_response(a_ranking_results_xml.containing(a_ranking_result(brokerId = "broker-1",
  107.                                                                                       rank = 13))
  108.                                                          .containing(a_ranking_result(brokerId = "broker-2",
  109.                                                                                       rank = 25)).get()))
  110.  
  111.        .was_able_to(respond_to(the_ranking_ideas_request.for_user(user)
  112.                                                         .and_criteria("mtd")
  113.                                                         .and_contributor("broker-2"))
  114.                      .with_response(an_ideas_xml.containing(an_idea(id = "idea-c", lastAction = secondDate))
  115.                                                 .containing(an_idea(id = "idea-d", lastAction = firstDate)).get()))
  116.  
  117.   When.the(viewer).attempts_to(view_the_rankings_page)
  118.                   .and_to(choose_the_broker_with_id("broker-2"))
  119.  
  120.   Then.the(viewer).expects_that(the_selected_broker_idea_ids)(_ should be(List("idea-c", "idea-d")))
  121.  
  122. }
  123.  
  124. it("Idea details are present when selecting an Idea") {
  125.   val user = randomUser()
  126.   val ideaHistory = an_idea_history_with_id("idea-c-history").get()
  127.   val viewer = viewing(user)
  128.  
  129.   Given.the(equities_service)
  130.        .was_able_to(respond_to(the_ranking_request.for_user(user))
  131.                      .with_response(a_ranking_xml.containing(a_ranking_named("MTD").with_id("mtd")).get()))
  132.  
  133.        .was_able_to(respond_to(the_ranking_results_request.for_user(user)
  134.                                                           .and_ranking("mtd"))
  135.                      .with_response(a_ranking_results_xml.containing(a_ranking_result.for_broker_id("broker-1")
  136.                                                                                     .with_rank(13))
  137.                                                          .containing(a_ranking_result.for_broker_id("broker-2")
  138.                                                                                     .with_rank(25)).get()))
  139.  
  140.        .was_able_to(respond_to(the_ranking_ideas_request.for_user(user)
  141.                                                         .and_criteria("mtd")
  142.                                                         .and_contributor("broker-2"))
  143.                      .with_response(an_ideas_xml.containing(an_idea_with_id("idea-c").with_last_action_on(secondDate))
  144.                                                 .containing(an_idea_with_id("idea-d").with_last_action_on(firstDate)).get()))
  145.  
  146.        .was_able_to(respond_to(the_idea_history_request.for_user(user)
  147.                                                        .and_idea("idea-c"))
  148.                      .with_response(ideaHistory))
  149.  
  150.   When.the(viewer).attempts_to(view_the_rankings_page)
  151.                   .and_to(choose_the_broker_with_id("broker-2"))
  152.                   .and_to(choose_the_idea_with_id("idea-c"))
  153.  
  154.   Then.the(viewer).expects_that(the_selected_idea_history_id)(_ should be("idea-c-history"))
  155.  
  156. }}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement