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()); }
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); }
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); }
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); }