Esempio n. 1
0
        public async Task Add_should_call_repository_and_return_createdAtAction()
        {
            // given
            var pageRequest       = _fixture.Create <PageRequest>();
            int autoIncrementedId = 99;

            _pageRepositoryMock
            .AddNewPageAsync(Arg.Any <Page>())
            .Returns(c =>
            {
                var page = c.Arg <Page>();

                // the repository returns a new id (autoincremented)
                return(Task.FromResult(new Page()
                {
                    Id = autoIncrementedId,
                    Title = page.Title
                }));
            });

            // when
            ActionResult <PageResponse> actionResult = await _pagesController.Add(pageRequest);

            // then
            actionResult.ShouldBeCreatedAtActionResult();
            PageResponse pageResponse = actionResult.CreatedAtActionResultValue();

            pageResponse.ShouldNotBeNull("ActionResult's ViewModel was null");
            pageResponse.Id.ShouldBe(autoIncrementedId);
            pageResponse.Title.ShouldBe(pageRequest.Title);
        }