public void SaveTeammate() { var body = new CreateTeammateRequest { FirstName = Faker.Name.First(), LastName = Faker.Name.Last(), PrimaryPosition = "SF", IsStarter = false }; var subject = new CreateTeammateResponse { FirstName = Faker.Name.First(), LastName = Faker.Name.Last(), ID = 5000 }; facade.Setup(x => x.CreateTeammate(It.IsNotNull <CreateTeammateRequest>())) .Returns(subject) .Verifiable(); // Arrange TeamController controller = new TeamController(facade.Object); // Act var result = controller.CreateTeammate(body); // Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(CreatedContentActionResult <CreateTeammateResponse>)); var response = result as CreatedContentActionResult <CreateTeammateResponse>; Assert.AreEqual(subject, response._response); facade.Verify(x => x.CreateTeammate(It.IsNotNull <CreateTeammateRequest>()), Times.Once); facade.VerifyNoOtherCalls(); }