public void When_GetCampaignInfo_IsSuccessful() { CreateProduct(); CreateCampaignInput createCampaignInput = new CreateCampaignInput { Name = "C1", ProductCode = "P1", TargetSalesCount = 100, Duration = 10, PriceManipulationLimit = 20 }; CreateCampaign(createCampaignInput); using (var client = new TestStart().Client) { client.DefaultRequestHeaders.Add("Accept", "application/json"); string name = "C1"; var response = client.GetAsync("/api/campaign?name=" + name); Assert.AreEqual(HttpStatusCode.OK, response.Result.StatusCode); var getCampaignInfoOutput = JsonConvert.DeserializeObject <GetCampaignInfoOutput>(response.Result.Content.ReadAsStringAsync().Result); Assert.IsNotNull(getCampaignInfoOutput); Assert.AreEqual(0, getCampaignInfoOutput.TotalSales); Assert.AreEqual(createCampaignInput.TargetSalesCount, getCampaignInfoOutput.TargetSales); Assert.AreEqual(0, getCampaignInfoOutput.Turnover); } }
public static void ResetData() { using (var client = new TestStart().Client) { client.DefaultRequestHeaders.Add("Accept", "application/json"); var response = client.DeleteAsync("/api/scenario"); } }
private void CreateCampaign(CreateCampaignInput createCampaignInput) { using (var client = new TestStart().Client) { client.DefaultRequestHeaders.Add("Accept", "application/json"); var json = JsonConvert.SerializeObject(createCampaignInput); var data = new StringContent(json, Encoding.UTF8, "application/json"); var response = client.PostAsync("/api/campaign", data).Result; Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); } }
public void When_ResetData_IsSuccessful() { using (var client = new TestStart().Client) { client.DefaultRequestHeaders.Add("Accept", "application/json"); var response = client.DeleteAsync("/api/scenario"); Assert.AreEqual(HttpStatusCode.OK, response.Result.StatusCode); } }
private HttpResponseMessage CreateCampaign(CreateCampaignInput createCampaignInput) { using (var client = new TestStart().Client) { client.DefaultRequestHeaders.Add("Accept", "application/json"); var json = JsonConvert.SerializeObject(createCampaignInput); var data = new StringContent(json, Encoding.UTF8, "application/json"); var response = client.PostAsync("/api/campaign", data).Result; return(response); } }
private void WaitUntilTestStart() { while (DateTimeOffset.UtcNow.CompareTo(TestStart) < 0) { if (TestStart.Subtract(DateTimeOffset.UtcNow).TotalMilliseconds > 4) { Thread.Sleep(3); } else { Thread.Sleep(1); } } }
private GetCampaignInfoOutput GetCampaign(string name) { using (var client = new TestStart().Client) { client.DefaultRequestHeaders.Add("Accept", "application/json"); var response = client.GetAsync("/api/campaign?name=" + name); Assert.AreEqual(HttpStatusCode.OK, response.Result.StatusCode); var getCampaignInfoOutput = JsonConvert.DeserializeObject <GetCampaignInfoOutput>(response.Result.Content.ReadAsStringAsync().Result); return(getCampaignInfoOutput); } }
public void When_IncreaseTime_IsSuccessful() { IncreaseTimeRequest increaseTimeRequest = new IncreaseTimeRequest { Hour = 1 }; using (var client = new TestStart().Client) { client.DefaultRequestHeaders.Add("Accept", "application/json"); var json = JsonConvert.SerializeObject(increaseTimeRequest); var data = new StringContent(json, Encoding.UTF8, "application/json"); var response = client.PutAsync("/api/increasetime", data); Assert.AreEqual(HttpStatusCode.OK, response.Result.StatusCode); } }
public void When_CreateProduct_IsSuccessful() { using (var client = new TestStart().Client) { CreateProductRequest input = new CreateProductRequest { Code = "P1", Price = 100, Stock = 1000 }; client.DefaultRequestHeaders.Add("Accept", "application/json"); var json = JsonConvert.SerializeObject(input); var data = new StringContent(json, Encoding.UTF8, "application/json"); var response = client.PostAsync("/api/product", data); Assert.AreEqual(HttpStatusCode.OK, response.Result.StatusCode); } }
public void When_GetProductInfo_IsSuccessful() { CreateProductRequest input = new CreateProductRequest { Code = "P1", Price = 100, Stock = 1000, }; CreateProduct(input); CreateCampaignInput createCampaignInput = new CreateCampaignInput { Name = "C1", ProductCode = "P1", TargetSalesCount = 100, Duration = 10, PriceManipulationLimit = 20 }; CreateCampaign(createCampaignInput); IncreaseTime(); using (var client = new TestStart().Client) { client.DefaultRequestHeaders.Add("Accept", "application/json"); string productCode = "P1"; var response = client.GetAsync("/api/product?productCode=" + productCode); Assert.AreEqual(HttpStatusCode.OK, response.Result.StatusCode); var getProductInfoOutput = JsonConvert.DeserializeObject <GetProductInfoOutput>(response.Result.Content.ReadAsStringAsync().Result); Assert.IsNotNull(getProductInfoOutput); Assert.AreNotEqual(input.Price, getProductInfoOutput.Price); Assert.AreEqual(input.Stock, getProductInfoOutput.Stock); } }
private static void OnTestStart(object?sender, TestStart e) { Sb.AppendLine($"Test case start: {e.TypeName} | {e.TestName}"); }
/// <summary> /// Invokes the test start event. /// </summary> /// <param name="testStart"></param> public void OnTestCaseStart(TestStart testStart) { TestStart?.Invoke(null, testStart); }