I have a test that creates new transaction and checks that it's returning 200:
[Test]
public async Task CreateNewTransactionReturns200()
{
var json = JsonReader.ReadJson("Transaction");
var jObject = JObject.Parse(json);
json = jObject.ToString();
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await HttpClient.PostAsync(CreateNewTransactionURL, content);
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
}
Transaction is like:
"Transaction": {
"type": "transaction",
"amount": "100"
},
Now I need to add new test that creates 100 transactions and I try to do it in next way:
[Test]
public async Task Create100TransactionsReturns200()
{
var json = JsonReader.ReadJson("Transaction");
var jObject = JObject.Parse(json);
json = jObject.ToString();
List<string> list = new List<string>();
for (int i = 0; i < 100; i++)
{
list.Add(json);
}
var content = new StringContent(list, Encoding.UTF8, "application/json");
var response = await HttpClient.PostAsync(CreateNewTransactionURL, content);
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
}
or this way
[Test]
public async Task Create100TransactionsReturns200()
{
var json = JsonReader.ReadJson("Transaction");
var jObject = JObject.Parse(json);
json = jObject.ToString();
string transactions = "";
for (int i = 0; i < 100; i++)
{
transactions += json;
}
var content = new StringContent(transactions, Encoding.UTF8,
"application/json");
var response = await HttpClient.PostAsync(CreateNewTransactionURL, content);
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
}
But the first gives me underlined list in 'content' variable, and second creates 1 transaction. How to add 100 transactions in a row?