public async Task SegmentControllerUpsertReturnsSuccessForUpdate(string mediaTypeName) { // Arrange var existingModel = A.Fake <RelatedCareersSegmentModel>(); existingModel.SequenceNumber = 123; var modelToUpsert = A.Fake <RelatedCareersSegmentModel>(); modelToUpsert.SequenceNumber = 124; var controller = BuildSegmentController(mediaTypeName); var expectedUpsertResponse = HttpStatusCode.OK; A.CallTo(() => FakeRelatedCareersSegmentService.GetByIdAsync(A <Guid> .Ignored)).Returns(existingModel); A.CallTo(() => FakeRelatedCareersSegmentService.UpsertAsync(A <RelatedCareersSegmentModel> .Ignored)).Returns(expectedUpsertResponse); // Act var result = await controller.Put(modelToUpsert).ConfigureAwait(false); // Assert A.CallTo(() => FakeRelatedCareersSegmentService.UpsertAsync(A <RelatedCareersSegmentModel> .Ignored)).MustHaveHappenedOnceExactly(); var okResult = Assert.IsType <StatusCodeResult>(result); Assert.Equal((int)HttpStatusCode.OK, okResult.StatusCode); controller.Dispose(); }