public void GetVehicleModelByMake_ShouldReturnInternalServerErrorAndLogError_WhenVehiclesServiceisNull() { var modelsMock = new Mock <IVehicleModelsService>(); var controller = new ModelsController(modelsMock.Object, null, mockedLogger.Object); var result = controller.GetVehicleModelByMake(1); Assert.IsInstanceOfType(result, typeof(InternalServerErrorResult)); mockedLogger.Verify(x => x.LogError(It.IsAny <Exception>(), "", controllerName, "GetVehicleModelByMake")); }
public void GetVehicleModelByMake_ShouldReturnAllModels() { mapper.Execute(); var vehiclesMock = new Mock <IVehiclesService>(); List <int?> modelIds = new List <int?>() { 1, 2, null }; vehiclesMock.Setup(v => v.GetModelIdsByMakeId(1)) .Returns(modelIds); var modelsMock = new Mock <IVehicleModelsService>(); VehicleModel model1 = new VehicleModel() { Id = 1, Name = "A5" }; modelsMock.Setup(v => v.GetById(1)).Returns(model1); VehicleModel model2 = new VehicleModel() { Id = 2, Name = "A4" }; modelsMock.Setup(v => v.GetById(2)).Returns(model2); var controller = new ModelsController(modelsMock.Object, vehiclesMock.Object, null); var result = controller.GetVehicleModelByMake(1); Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult <IOrderedEnumerable <VehicleModelResponseModel> >)); var responseContent = ((OkNegotiatedContentResult <IOrderedEnumerable <VehicleModelResponseModel> >)result).Content; Assert.AreEqual(responseContent.ToList().Count, 2); Assert.AreEqual(responseContent.First().Id, 2); Assert.AreEqual(responseContent.Last().Id, 1); vehiclesMock.VerifyAll(); modelsMock.VerifyAll(); }