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);
            }
        }
Exemple #2
0
 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);
     }
 }
Exemple #4
0
        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);
            }
        }
Exemple #6
0
 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);
            }
        }
Exemple #9
0
        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);
            }
        }
Exemple #10
0
        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);
            }
        }
Exemple #11
0
 private static void OnTestStart(object?sender, TestStart e)
 {
     Sb.AppendLine($"Test case start: {e.TypeName} | {e.TestName}");
 }
Exemple #12
0
 /// <summary>
 /// Invokes the test start event.
 /// </summary>
 /// <param name="testStart"></param>
 public void OnTestCaseStart(TestStart testStart)
 {
     TestStart?.Invoke(null, testStart);
 }