public async Task MeetingTypeControllerPostEdit() { var data = new MeetingTypeApiDataHandler(); var model = MeetingTypeData.GetFirst(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <MeetingType> >())).Returns(model); data.Result.Setup(m => m.Execute(It.IsAny <Persist <MeetingType> >())).Returns(model); var controller = new MeetingTypeController(data, Logic) { CurrentUser = AdminUser }; var viewModel = controller.Mapper.Map <MeetingTypeViewModel>(model); var result = await controller.Post(viewModel) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); result.Value.Should().NotBeNull(); var check = result.Value as ConfirmViewModel; check.Identity.Should().Be(model.Id); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <MeetingType> >()), Times.AtLeastOnce); data.Result.Verify(s => s.Execute(It.IsAny <Persist <MeetingType> >()), Times.Once()); }
public async Task MeetingTypeControllerPostUnauthorised() { var data = new MeetingTypeApiDataHandler(); var model = MeetingTypeData.GetFirst(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <MeetingType> >())).Returns(model); data.Result.Setup(m => m.Execute(It.IsAny <Persist <MeetingType> >())).Returns(model); var controller = new MeetingTypeController(data, Logic) { CurrentUser = StandardUser }; var viewModel = controller.Mapper.Map <MeetingTypeViewModel>(model); var result = await controller.Post(viewModel) as UnauthorizedResult; result.Should().NotBeNull(); result.Should().BeOfType <UnauthorizedResult>(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <MeetingType> >()), Times.AtLeastOnce); data.Result.Verify(s => s.Execute(It.IsAny <Persist <MeetingType> >()), Times.Never); }