public void Post_Successfully_Tests() { // Arrange var expectedStatusCode = 201; _unitOfWorkMock .Setup(uow => uow.GetRepository <BankAccount>()) .Returns(_bankAccountRepositoryMock.Object); var bankAccount = new BankAccount { Id = 0, Balance = 102.45M, Number = "PBO1221323", IsLocked = false }; _bankAccountRepositoryMock .Setup(ror => ror.Single(It.IsNotNull <Expression <Func <BankAccount, bool> > >(), null, null, true)) .Returns((BankAccount)null); // Act var result = _bankAccountsController.Post(bankAccount); var or = (result as ActionResult <BankAccount>)?.Result as ObjectResult; // Assert Assert.NotNull(or); Assert.Equal(expectedStatusCode, or.StatusCode); Assert.NotNull(or.Value as BankAccount); }