public void ShouldAddCommunication() { // Sample communications to test Communication comm = new Communication() { Text = "Test communication", Subject = "Testing communication", EffectiveDateTime = new DateTime(2020, 04, 04), ExpiryDateTime = new DateTime(2020, 05, 13) }; RequestResult <Communication> expected = new RequestResult <Communication> { ResourcePayload = comm, ResultStatus = Common.Constants.ResultType.Success }; Mock <ICommunicationService> mockCommunicationService = new Mock <ICommunicationService>(); mockCommunicationService.Setup(s => s.Add(It.Is <Communication>(x => x.Text == comm.Text))).Returns(expected); // Initialize controller CommunicationController controller = new CommunicationController( mockCommunicationService.Object ); // Test if controller adds communication properly IActionResult actualResult = controller.Add(comm); Assert.IsType <JsonResult>(actualResult); Assert.True(((JsonResult)actualResult).Value.IsDeepEqual(expected)); }