예제 #1
0
        public void CreateCardAccountSuccessfully()
        {
            var content = File.ReadAllText("../../../Fixtures/card_account_create.json");

            var client = GetMockClient(content);
            var repo   = new CardAccountRepository(client.Object);

            const string userId  = "ec9bf096-c505-4bef-87f6-18822b9dbf2c"; //some user created before
            var          account = new Dictionary <string, object>
            {
                { "user_id", userId },
                { "active", true },
                { "card", new Dictionary <string, object>
                  {
                      { "full_name", "Batman" },
                      { "expiry_month", "11" },
                      { "expiry_year", "2020" },
                      { "number", "4111111111111111" },
                      { "type", "visa" },
                      { "cvv", "123" }
                  } }
            };
            var resp = repo.CreateCardAccount(account);

            client.VerifyAll();
            var result         = resp.Values.First();
            var createdAccount = JsonConvert.DeserializeObject <IDictionary <string, object> >(JsonConvert.SerializeObject(result));

            Assert.IsNotNull(createdAccount);
            Assert.IsNotNull(createdAccount["id"]);
            Assert.AreEqual("AUD", (string)createdAccount["currency"]); // It seems that currency is determined by country
            Assert.IsNotNull(createdAccount["created_at"]);
            Assert.IsNotNull(createdAccount["updated_at"]);
        }
        public void CreateCardAccountSuccessfully()
        {
            var content = File.ReadAllText("../../../Fixtures/card_account_create.json");

            var client = GetMockClient(content);
            var repo   = new CardAccountRepository(client.Object);

            const string userId  = "ec9bf096-c505-4bef-87f6-18822b9dbf2c"; //some user created before
            var          account = new CardAccount
            {
                UserId = userId,
                Active = true,
                Card   = new Card
                {
                    FullName    = "Batman",
                    ExpiryMonth = "11",
                    ExpiryYear  = "2020",
                    Number      = "4111111111111111",
                    Type        = "visa",
                    CVV         = "123"
                }
            };
            var createdAccount = repo.CreateCardAccount(account);

            client.VerifyAll();
            Assert.IsNotNull(createdAccount);
            Assert.IsNotNull(createdAccount.Id);
            Assert.AreEqual("AUD", createdAccount.Currency); // It seems that currency is determined by country
            Assert.IsNotNull(createdAccount.CreatedAt);
            Assert.IsNotNull(createdAccount.UpdatedAt);
        }