public void AddBooking(string roomId, string guestEmail, string fromDateStr, string toDateStr, int expectedStatusCode) { var ev = new BookingEvent { Resource = roomId, Text = guestEmail, Start = fromDateStr, End = toDateStr, }; _mockService.Setup(s => s.GetGuestByEmail(guestEmail)).Returns( Task.FromResult(new Guest { Id = 1, Email = guestEmail })); _mockService.Setup(s => s.AddBooking(It.IsAny <Booking>())).Returns( Task.FromResult(new Booking { Guest = new Guest { Email = guestEmail } })); var response = _controller.AddBooking(ev).GetAwaiter().GetResult(); // Assert var result = response.Result as ObjectResult; Assert.That(result.StatusCode == expectedStatusCode); var resultValue = result.Value as ServiceResponse <Booking>; Assert.That(resultValue.Data.RoomId.ToString(), Is.EqualTo(roomId)); }