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); }