예제 #1
0
        public static Account CreateAccount(
            long id,
            IEnumerable <MemberAccount> memberAccounts,
            AccountStatusIds accountStatusId = AccountStatusIds.Active,
            decimal accountBalance           = 10000,
            decimal pendingBalance           = 2000,
            string accountNumber             = "ZIP00000001")
        {
            memberAccounts ??= new MemberAccount[] { };

            return(new Account
            {
                Id = id,
                AccountStatusId = (long)accountStatusId,
                AccountBalance = accountBalance,
                PendingBalance = pendingBalance,
                AccountNumber = accountNumber,
                CreatedOn = DateTime.UtcNow,
                ModifiedOn = DateTime.UtcNow,
                MemberAccounts = memberAccounts.ToArray()
            });
        }
예제 #2
0
        public void GivenAccountMapper_WhenMapAccountToAccountModel_ShouldMapSuccessful(long id,
                                                                                        AccountStatusIds accountStatusId,
                                                                                        decimal accountBalance, decimal pendingBalance,
                                                                                        string accountNumber)
        {
            // assign
            var memberAccounts = new List <MemberAccount>
            {
                MemberDataBuilder.CreateMemberAccount(1, id, 2),
            };
            var account = AccountDataBuilder.CreateAccount(id, memberAccounts, accountStatusId,
                                                           accountBalance, pendingBalance, accountNumber);

            account.AccountStatus = new AccountStatus
            {
                Id   = (long)accountStatusId,
                Name = accountStatusId.ToString()
            };
            // act
            var accountModel = _mapper.Map <AccountModel>(account);

            // assert
            accountModel.ShouldNotBeNull();
            accountModel.ShouldSatisfyAllConditions(
                () => accountModel.AccountNumber.ShouldBe(account.AccountNumber),
                () => accountModel.AccountStatus.ShouldBe(account.AccountStatus.Name),
                () => accountModel.Id.ShouldBe(account.Id),
                () => accountModel.AccountBalance.ShouldBe(account.AccountBalance),
                () => accountModel.PendingBalance.ShouldBe(account.PendingBalance),
                () => accountModel.AvailableBalance.ShouldBe(account.AccountBalance + account.PendingBalance));
        }