예제 #1
0
        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);
        }