コード例 #1
0
        public async void All_Not_Exists()
        {
            PostsControllerMockFacade mock = new PostsControllerMockFacade();

            mock.ServiceMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult <List <ApiPostsResponseModel> >(new List <ApiPostsResponseModel>()));
            PostsController controller = new PostsController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.All(1000, 0);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            var items = (response as OkObjectResult).Value as List <ApiPostsResponseModel>;

            items.Should().BeEmpty();
            mock.ServiceMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>()));
        }
コード例 #2
0
        public void AllShouldWork()
        {
            // Arrange
            var mockCitiesService            = new Mock <ICitiesService>();
            var mockMakesService             = new Mock <IMakesService>();
            var mockCategoriesService        = new Mock <ICategoriesService>();
            var mockModelsService            = new Mock <IModelsService>();
            var mockVehicleCategoriesService = new Mock <IVehicleCategoriesService>();
            var mockColorsService            = new Mock <IColorService>();
            var mockCloudinaryService        = new Mock <ICloudinaryService>();
            var mockCommentsService          = new Mock <ICommentsService>();
            var mockPostsService             = new Mock <IPostsService>();

            var mockUserManager = this.GetMockUserManager();

            var inputModel = new PostDetailsInputModel()
            {
                Color        = "Blue",
                Condition    = "Used",
                Currency     = "LV",
                EngineType   = "Disel",
                Eurostandard = 5,
                Make         = 11,
                Model        = "M5",
            };

            mockPostsService
            .Setup(mp => mp.Filter(inputModel))
            .Returns(this.GetAll <Post>());

            var claims = new List <Claim>()
            {
                new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", "5247d66a-84ff-4987-abb5-53b1c2e747c2"),
                new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", "*****@*****.**"),
                new Claim("AspNet.Identity.SecurityStamp", "E7B2QZV5M4OIRM3ZFIVXFVGR3YULFGO7"),
                new Claim("http://schemas.microsoft.com/ws/2008/06/identity/claims/role", "Admin"),
                new Claim("amr", "pwd"),
            };

            var claimsIdentity = new ClaimsIdentity(claims);

            var principal = new ClaimsPrincipal(claimsIdentity);

            Thread.CurrentPrincipal = principal;

            mockUserManager.Setup(mu => mu.GetUserAsync(principal))
            .Returns(Task.FromResult(new ApplicationUser()
            {
                UserName = "******", Image = new Image()
                {
                    Url = "testUrl"
                }
            }));

            // Act
            var controller = new PostsController(
                mockPostsService.Object,
                mockCitiesService.Object,
                mockCategoriesService.Object,
                mockMakesService.Object,
                mockModelsService.Object,
                mockVehicleCategoriesService.Object,
                mockColorsService.Object,
                mockUserManager.Object,
                mockCloudinaryService.Object,
                mockCommentsService.Object);

            // Assert
            var result = controller.All(inputModel);

            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsAssignableFrom <PagedResult <AllPagePostViewModel> >(viewResult.ViewData.Model);

            Assert.NotEmpty(model.Data);
            Assert.Equal(3, model.Data.Count());
            Assert.Equal(3, model.TotalItems);
            Assert.Equal(1, model.PageNumber);
            Assert.Equal(5, model.PageSize);
        }