Пример #1
0
        public void FindByVehicleInfo_ShouldReturnInternalServerErrorAndLogError_WhenVehiclesServiceIsNull()
        {
            var controller = new ProductsController(null, null, null, null, null, mockedLogger.Object);

            var result = controller.FindByVehicleInfo(null);

            Assert.IsInstanceOfType(result, typeof(InternalServerErrorResult));
            mockedLogger.Verify(x => x.LogError(It.IsAny <Exception>(), "", controllerName, "FindByVehicleInfo"));
        }
Пример #2
0
        public void FindByVehicleInfo_ShouldReturnCorrectProducts()
        {
            mapper.Execute();

            string testProductType           = "windscreen";
            VehicleGlassRequestModel request = new VehicleGlassRequestModel()
            {
                MakeId = 1, ProductType = testProductType
            };
            Vehicle vehicle = new Vehicle()
            {
                MakeId = 1
            };
            var glasses = new List <VehicleGlass>()
            {
                new VehicleGlass()
                {
                    Id = 1
                },
                new VehicleGlass()
                {
                    Id = 2
                },
                new VehicleGlass()
                {
                    Id = 3
                }
            }.AsQueryable();

            var vehiclesMock = new Mock <IVehiclesService>();

            vehiclesMock.Setup(x => x.GetVehicleByMakeModelAndBodyTypeIds(request.MakeId, null, null)).Returns(vehicle);
            vehiclesMock.Setup(x => x.GetApplicableGLassesByProductType(vehicle, testProductType)).Returns(glasses);

            var controller = new ProductsController(null, vehiclesMock.Object, null, null, null, null);
            var result     = controller.FindByVehicleInfo(request);

            Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult <List <VehicleGlassShortResponseModel> >));
            var responseContent = ((OkNegotiatedContentResult <List <VehicleGlassShortResponseModel> >)result).Content;

            Assert.AreEqual(responseContent.ToList().Count, 3);
            Assert.AreEqual(responseContent[0].Id, 1);
            Assert.AreEqual(responseContent[1].Id, 2);
            Assert.AreEqual(responseContent[2].Id, 3);

            vehiclesMock.VerifyAll();
            vehiclesMock.Verify(x => x.GetApplicableGLasses(It.IsAny <Vehicle>()), Times.Never);
        }