Advertisement
Guest User

Untitled

a guest
Mar 13th, 2015
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.59 KB | None | 0 0
  1. class UserActivationRequestProcessorSpec
  2.         extends ProcessorTestKit
  3. {
  4.     val account = Account("test@example.com", Set(Roles.Administrator, Roles.RegularUser))
  5.     val user = User(account.id)
  6.     val session = Session(account.id, account.roles, TokenHelper.newToken)
  7.  
  8.     val mockUserDao = {
  9.         val d = mock[UserDAO]
  10.         d.find(user.id) returns Future.successful(Some(user))
  11.         d.updateIsActive(user.id, false) returns Future.successful(())
  12.         d
  13.     }
  14.  
  15.     def mockApiRouterSuccess = actor { new Act with MockAPIRouter {
  16.         become {
  17.             case _: CheckSession ⇒ sender ! session
  18.             case _: TouchSession ⇒
  19.             case _: SetAccountActivationStatus ⇒ sender ! SuccessResponse.Ok
  20.         }
  21.     }}
  22.  
  23.  
  24.     def mockApiRouterForbiden = actor { new Act with MockAPIRouter {
  25.         become {
  26.             case _: CheckSession ⇒ sender ! session.copy(roles = Set(Roles.RegularUser))
  27.             case _: TouchSession ⇒
  28.         }
  29.     }}
  30.  
  31.  
  32.     def createProcessor(dao: UserDAO, mockApiRouter: ActorRef): ActorRef = system.actorOf(Props(
  33.         new UserActivationRequestProcessor(dao) with MockAPIRouting {
  34.             override val mockAPIRouter: ActorRef = mockApiRouter
  35.         }))
  36.  
  37.     "UserActivationRequestProcessor" should {
  38.         "Activate user" in {
  39.             val processor = createProcessor(mockUserDao, mockApiRouterSuccess)
  40.             processor ! UserActivationRequest(user.id, false).withSession(session)
  41.             expectMsg(SuccessResponse.Ok)
  42.         }
  43.  
  44.         "Activate user should be forbidden for regular user" in {
  45.             val processor = createProcessor(mockUserDao, mockApiRouterForbiden)
  46.             processor ! UserActivationRequest(user.id, false).withSession(session)
  47.             expectMsg(ErrorResponse.Forbidden)
  48.         }
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement