コード例 #1
0
        public void CreateChargeSuccessfully()
        {
            var content = File.ReadAllText("../../../Fixtures/charges_create.json");
            var client  = GetMockClient(content);

            var repo   = new ChargeRepository(client.Object);
            var id     = "cb7eafc1-571c-425c-9adc-f56cb585cd68";
            var charge = new Dictionary <string, object>
            {
                { "name", "Charge for Delivery" },
                { "account_id", "b49d943f-add0-4d1c-b357-0f1a8fde677c" },
                { "amount", "4500" },
                { "email", "*****@*****.**" },
                { "zip", "3000" },
                { "country", "AUS" },
                { "user_id", "7af96d61-2339-4298-8a09-aadd6c4501b2" },
                { "fee_ids", "187" },
                { "currency", "AUD" },
                { "retain_account", "false" },
                { "device_id", "123456" },
                { "ip_address", "127.0.0.1" }
            };

            var response = repo.CreateCharge(charge);

            var createdCharge = JsonConvert.DeserializeObject <IDictionary <string, object> >(JsonConvert.SerializeObject(response["charges"]));

            Assert.AreEqual(id, createdCharge["id"]);
            Assert.AreEqual(charge["name"], createdCharge["name"]);
            Assert.IsTrue(((DateTime?)createdCharge["created_at"]).HasValue);
            Assert.IsTrue(((DateTime?)createdCharge["updated_at"]).HasValue);
        }