public async Task UpdateTruck_ChassisAlreadyExists_ReturnsConflict() { // create model var model = new Model(); model.Description = Guid.NewGuid().ToString(); IActionResult actionResult = await _modelController.PostModel(model); var modelCreatedResult = actionResult as CreatedAtActionResult; Assert.IsNotNull(modelCreatedResult); Assert.AreEqual(201, modelCreatedResult.StatusCode); model.ModelId = Convert.ToInt32(modelCreatedResult.RouteValues["id"]); // create truck 1 var truck1 = new Truck(); truck1.Chassis = Guid.NewGuid().ToString(); truck1.Year = Convert.ToInt16(new Random().Next(1900, 2019)); truck1.Model = model; actionResult = await _truckController.PostTruck(truck1); var createdResult = actionResult as CreatedAtActionResult; Assert.IsNotNull(createdResult); Assert.AreEqual(201, createdResult.StatusCode); // create truck 2 var truck2 = new Truck(); truck2.Chassis = Guid.NewGuid().ToString(); truck2.Year = Convert.ToInt16(new Random().Next(1900, 2019)); truck2.Model = model; actionResult = await _truckController.PostTruck(truck2); createdResult = actionResult as CreatedAtActionResult; Assert.IsNotNull(createdResult); Assert.AreEqual(201, createdResult.StatusCode); // try to update truck 2 with truck1.chassis truck2.Chassis = truck1.Chassis; actionResult = await _truckController.PutTruck(truck2.TruckId, truck2); var conflictResult = actionResult as ConflictResult; Assert.IsNotNull(conflictResult); Assert.AreEqual(409, conflictResult.StatusCode); Assert.Pass(); }