コード例 #1
0
        public async Task <IHttpActionResult> CreateLottery(CreateLotteryViewModel lotteryViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var createLotteryDto = _mapper.Map <CreateLotteryViewModel, LotteryDto>(lotteryViewModel);

            SetOrganizationAndUser(createLotteryDto);

            try
            {
                await _lotteryService.CreateLotteryAsync(createLotteryDto);
            }
            catch (LotteryException e)
            {
                return(BadRequest(e.Message));
            }

            return(Ok());
        }
コード例 #2
0
        public async Task CreateLottery_Should_Return_Bad_Request()
        {
            // Arrange
            var lotteryViewModel = new CreateLotteryViewModel
            {
                Title = "test"
            };

            var lotteryDto = new LotteryDto
            {
                Title = "test"
            };

            _mapper.Map <CreateLotteryViewModel, LotteryDto>(lotteryViewModel).Returns(lotteryDto);
            _lotteryService.CreateLotteryAsync(lotteryDto).Throws(new LotteryException("Exception"));

            // Act
            var response = await _lotteryController.CreateLottery(lotteryViewModel);

            // Assert
            Assert.IsInstanceOf <BadRequestErrorMessageResult>(response);
            await _lotteryService.Received(1).CreateLotteryAsync(lotteryDto);
        }
コード例 #3
0
        public async Task CreateLottery_Should_Return_Ok()
        {
            // Arrange
            var lotteryViewModel = new CreateLotteryViewModel
            {
                Title = "test"
            };

            var lotteryDto = new LotteryDto
            {
                Title = "test"
            };

            _mapper.Map <CreateLotteryViewModel, LotteryDto>(lotteryViewModel).Returns(lotteryDto);

            // Act
            var response = await _lotteryController.CreateLottery(lotteryViewModel);

            // Assert
            Assert.IsNotNull(response);
            Assert.IsInstanceOf <OkResult>(response);
            await _lotteryService.Received(1).CreateLotteryAsync(lotteryDto);
        }
コード例 #4
0
        public async Task CreateLottery_Should_Return_Invalid_Model_State()
        {
            // Arrange
            var lotteryViewModel = new CreateLotteryViewModel
            {
                Title = "test"
            };

            var lotteryDto = new LotteryDto
            {
                Title = "test"
            };

            _mapper.Map <CreateLotteryViewModel, LotteryDto>(lotteryViewModel).Returns(lotteryDto);

            // Act
            _lotteryController.ModelState.AddModelError("model", "error");

            var response = await _lotteryController.CreateLottery(lotteryViewModel);

            // Assert
            Assert.IsInstanceOf <InvalidModelStateResult>(response);
            await _lotteryService.DidNotReceive().CreateLotteryAsync(lotteryDto);
        }