public async System.Threading.Tasks.Task PostSportTestAsync() { var manager = new Mock <ISportManager>(); Sport s = new Sport() { Id = 1, Name = "Sport" }; manager.Setup(m => m.Add(s)) .Callback((Sport sport) => { sport.Id.Should().Be(1); sport.Name.Should().Be("Sport"); }) .ReturnsAsync(s); var controller = new SportsController(manager.Object); var actionResult = await controller.PostSport(s); // Checks the 201 response actionResult.Result.Should().BeOfType <CreatedAtActionResult>(); var result = actionResult.Result as CreatedAtActionResult; //Checks the content of the response var responseValue = result.Value as Sport; responseValue.Id.Should().Be(1); responseValue.Name.Should().Be("Sport"); }
public void PostSport() { int sportId = 1; String name = "test"; Sport testObject = new Sport(); testObject.sportId = sportId; testObject.name = name; Mock <ISportRepository> myMock = new Mock <ISportRepository>(); myMock.Setup(x => x.Add(testObject)) .Returns(Task.FromResult(sportId)); SportsController sportsController = new SportsController(myMock.Object); Task <IHttpActionResult> returnedTask = sportsController.PostSport(testObject); var contentResult = returnedTask.Result as CreatedAtRouteNegotiatedContentResult <Sport>; Assert.IsNotNull(contentResult); Assert.AreEqual(contentResult.Content.sportId, sportId); myMock.VerifyAll(); }