コード例 #1
0
        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());
        }
コード例 #2
0
        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);
        }