예제 #1
0
        public async void Login_Returns_OK_When_Succeeds()
        {
            //Arrange
            var userId    = "A727D7ED-473F-4FA7-909E-4AA7A35B2BFA";
            var authToken = "Fake authToken";
            var expiresIn = 1;
            var loginInfo = new LoginInfo(userId, authToken, expiresIn);

            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(madiatr => madiatr.Send(It.IsAny <UserLoginCommand>(), default))
            .Returns(Task.FromResult(new UserLoginResponse(loginInfo)));

            var mapper = new MapperConfiguration(cfg => {
                cfg.AddProfile(new AccountsDataMappingProfile());
            }).CreateMapper();

            var responsePresenter = new AccountsControllerPresenter(mapper);

            //Act
            var controller = new AccountsController(mockMediator.Object, mapper, responsePresenter);
            var result     = await controller.Login(new JsLoginRequest()
            {
                UserName = "", Password = ""
            });

            //Assert
            var statusCode = ((ContentResult)result).StatusCode;

            Assert.True(statusCode.HasValue && statusCode.Value == (int)HttpStatusCode.OK);
        }
예제 #2
0
        public async void Login_Returns_Unauthorized_When_Fails()
        {
            //Arrange
            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(madiatr => madiatr.Send(It.IsAny <UserLoginCommand>(), default))
            .Returns(Task.FromResult(new UserLoginResponse(HttpStatusCode.Unauthorized)));

            var mapper = new MapperConfiguration(cfg => {
                cfg.AddProfile(new AccountsDataMappingProfile());
            }).CreateMapper();

            var responsePresenter = new AccountsControllerPresenter(mapper);

            //Act
            var controller = new AccountsController(mockMediator.Object, mapper, responsePresenter);
            var result     = await controller.Login(new JsLoginRequest()
            {
                UserName = "", Password = ""
            });

            // assert
            var statusCode = ((ContentResult)result).StatusCode;

            Assert.True(statusCode.HasValue && statusCode.Value == (int)HttpStatusCode.Unauthorized);
        }
예제 #3
0
        public async void Register_Returns_Bad_Request_When_Fails()
        {
            //Arrange
            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(madiatr => madiatr.Send(It.IsAny <UserRegisterCommand>(), default))
            .Returns(Task.FromResult(new UserRegisterResponse(HttpStatusCode.BadRequest)));

            var mapper = new MapperConfiguration(cfg => {
                cfg.AddProfile(new AccountsDataMappingProfile());
            }).CreateMapper();

            var responsePresenter = new AccountsControllerPresenter(mapper);

            //Act
            var controller = new AccountsController(mockMediator.Object, mapper, responsePresenter);
            var result     = await controller.Register(new Schemas.Accounts.JsRegisterUserRequest());

            // assert
            // var badRequestResult = Assert.IsType<BadRequestObjectResult>(result);
        }
예제 #4
0
        public async void Register_Returns_Created_When_Succeeds()
        {
            //Arrange
            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(madiatr => madiatr.Send(It.IsAny <UserRegisterCommand>(), default))
            .Returns(Task.FromResult(new UserRegisterResponse()));

            var mapper = new MapperConfiguration(cfg => {
                cfg.AddProfile(new AccountsDataMappingProfile());
            }).CreateMapper();

            var responsePresenter = new AccountsControllerPresenter(mapper);

            //Act
            var controller = new AccountsController(mockMediator.Object, mapper, responsePresenter);
            var result     = await controller.Register(new Schemas.Accounts.JsRegisterUserRequest());

            //Assert
            var statusCode = ((ContentResult)result).StatusCode;

            Assert.True(statusCode.HasValue && statusCode.Value == (int)HttpStatusCode.Created);
        }
예제 #5
0
 public AccountsController(IMediator mediator, IMapper mapper, AccountsControllerPresenter responseMapper)
 {
     _mediator    = mediator;
     _mapper      = mapper;
     _representer = responseMapper;
 }