public void UpdateFuelCardReturnsNotFoundWhenVehicleIsNotFound() { var validModel = new FuelCardModel { Id = 1, DriverId = 1, VehicleId = 1 }; var driver = new Driver(); Vehicle vehicle = null; _driverRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(driver); _vehicleRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(vehicle); var result = _sut.UpdateEntity(validModel, validModel.Id) as NotFoundObjectResult; Assert.That(result, Is.Not.Null); _fuelCardRepositoryMock.Verify(m => m.Update(It.IsAny <int>(), It.IsAny <FuelCard>()), Times.Never); _driverRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _vehicleRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _fuelCardRepositoryMock.Verify(m => m.Find(It.IsAny <Expression <Func <FuelCard, bool> > >()), Times.Once); }
public void UpdateFuelCardReturnsOkWhenEverythingIsCorrect() { var validModel = new FuelCardModel { Id = 1, DriverId = 1, VehicleId = 1 }; var driver = new Driver(); var vehicle = new Vehicle(); _fuelCardRepositoryMock.Setup(m => m.Update(It.IsAny <int>(), It.IsAny <FuelCard>())) .Returns(true); _driverRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(driver); _vehicleRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(vehicle); var result = _sut.UpdateEntity(validModel, validModel.Id) as OkResult; Assert.That(result, Is.Not.Null); _fuelCardRepositoryMock.Verify(m => m.Update(It.IsAny <int>(), It.IsAny <FuelCard>()), Times.Once); _driverRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _vehicleRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _fuelCardRepositoryMock.Verify(m => m.Find(It.IsAny <Expression <Func <FuelCard, bool> > >()), Times.Exactly(2)); }
public void UpdateFuelCardReturnsBadRequestWhenIdFromModelDoesNotMatchIdFromQueryParameter() { var invalidModel = new FuelCardModel { Id = 1, DriverId = 1, VehicleId = 1 }; var driver = new Driver(); var vehicle = new Vehicle(); _driverRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(driver); _vehicleRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(vehicle); var result = _sut.UpdateEntity(invalidModel, invalidModel.Id + 1) as BadRequestObjectResult; Assert.That(result, Is.Not.Null); _fuelCardRepositoryMock.Verify(m => m.Update(It.IsAny <int>(), It.IsAny <FuelCard>()), Times.Never); _driverRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _vehicleRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _fuelCardRepositoryMock.Verify(m => m.Find(It.IsAny <Expression <Func <FuelCard, bool> > >()), Times.Exactly(2)); }
public void UpdateFuelCardReturnsBadRequestWhenDriverAlreadyExists() { var validModel = new FuelCardModel { Id = 1, DriverId = 1 }; var driver = new Driver(); var fuelcards = new List <FuelCard> { new FuelCard { Id = validModel.Id + 1 } }; _driverRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(driver); _fuelCardRepositoryMock.Setup(m => m.Find(It.IsAny <Expression <Func <FuelCard, bool> > >())) .Returns(fuelcards); var result = _sut.UpdateEntity(validModel, validModel.Id) as BadRequestObjectResult; Assert.That(result, Is.Not.Null); _fuelCardRepositoryMock.Verify(m => m.Update(It.IsAny <int>(), It.IsAny <FuelCard>()), Times.Never); _driverRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _vehicleRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Never); _fuelCardRepositoryMock.Verify(m => m.Find(It.IsAny <Expression <Func <FuelCard, bool> > >()), Times.Once); }
public void UpdateFuelCardReturnsBadRequestWhenModelIsInvalid() { var invalidModel = new FuelCardModel { DriverId = 1, VehicleId = 1 }; var driver = new Driver(); var vehicle = new Vehicle(); _driverRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(driver); _vehicleRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(vehicle); _sut.ModelState.AddModelError("name", "name is required"); var result = _sut.UpdateEntity(invalidModel, 1) as BadRequestResult; Assert.That(result, Is.Not.Null); _fuelCardRepositoryMock.Verify(m => m.Update(It.IsAny <int>(), It.IsAny <FuelCard>()), Times.Never); _driverRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _vehicleRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _fuelCardRepositoryMock.Verify(m => m.Find(It.IsAny <Expression <Func <FuelCard, bool> > >()), Times.Exactly(2)); }
public void PostFuelCardReturnsOkWhenModelIsValid() { var validModel = new FuelCardModel { DriverId = 1, VehicleId = 1, CompanyId = 1 }; var driver = new Driver(); var vehicle = new Vehicle(); var company = new Company(); _driverRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(driver); _vehicleRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(vehicle); _companyRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(company); _mapperMock.Setup(m => m.Map <FuelCardReturnModel>(It.IsAny <FuelCard>())) .Returns(new FuelCardReturnModel()); _mapperMock.Setup(m => m.Map <FuelCard>(It.IsAny <FuelCardModel>())) .Returns(new FuelCard()); var result = _sut.PostEntity(validModel) as OkObjectResult; Assert.That(result, Is.Not.Null); Assert.That((FuelCardReturnModel)result.Value, Is.Not.Null); _fuelCardRepositoryMock.Verify(m => m.Add(It.IsAny <FuelCard>()), Times.Once); _driverRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _vehicleRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _companyRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _fuelCardRepositoryMock.Verify(m => m.Find(It.IsAny <Expression <Func <FuelCard, bool> > >()), Times.Exactly(2)); }
public void PostFuelCardReturnsNotFoundWhenCompanyIsNotFound() { var validModel = new FuelCardModel { DriverId = 1, VehicleId = 1, CompanyId = 1 }; var driver = new Driver(); Vehicle vehicle = new Vehicle(); Company company = null; _driverRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(driver); _vehicleRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(vehicle); _companyRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(company); var result = _sut.PostEntity(validModel) as NotFoundObjectResult; Assert.That(result, Is.Not.Null); _fuelCardRepositoryMock.Verify(m => m.Add(It.IsAny <FuelCard>()), Times.Never); _driverRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _vehicleRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _companyRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _fuelCardRepositoryMock.Verify(m => m.Find(It.IsAny <Expression <Func <FuelCard, bool> > >()), Times.Exactly(2)); }
public void PostFuelCardReturnsBadRequestWhenVehicleAlreadyExists() { var validModel = new FuelCardModel { DriverId = 1, VehicleId = 1 }; var driver = new Driver(); Vehicle vehicle = new Vehicle(); var fuelcards = new List <FuelCard> { new FuelCard() }; _driverRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(driver); _vehicleRepositoryMock.Setup(m => m.GetById(It.IsAny <int>())) .Returns(vehicle); _fuelCardRepositoryMock.SetupSequence(m => m.Find(It.IsAny <Expression <Func <FuelCard, bool> > >())) .Returns(new List <FuelCard>()) .Returns(fuelcards); var result = _sut.PostEntity(validModel) as BadRequestObjectResult; Assert.That(result, Is.Not.Null); _fuelCardRepositoryMock.Verify(m => m.Add(It.IsAny <FuelCard>()), Times.Never); _driverRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _vehicleRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Once); _companyRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Never); _fuelCardRepositoryMock.Verify(m => m.Find(It.IsAny <Expression <Func <FuelCard, bool> > >()), Times.Exactly(2)); }
public void PostFuelCardReturnsBadRequestWhenModelIsInvalid() { var invalidModel = new FuelCardModel { DriverId = 1, VehicleId = 1, CompanyId = 1 }; _sut.ModelState.AddModelError("name", "name is required"); var result = _sut.PostEntity(invalidModel) as BadRequestResult; Assert.That(result, Is.Not.Null); _fuelCardRepositoryMock.Verify(m => m.Add(It.IsAny <FuelCard>()), Times.Never); _driverRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Never); _vehicleRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Never); _companyRepositoryMock.Verify(m => m.GetById(It.IsAny <int>()), Times.Never); _fuelCardRepositoryMock.Verify(m => m.Find(It.IsAny <Expression <Func <FuelCard, bool> > >()), Times.Never); }