using Marketing.FunctionalTests.Base; using Microsoft.eShopOnContainers.Services.Locations.API.ViewModel; using Microsoft.eShopOnContainers.Services.Marketing.API.Dto; using Newtonsoft.Json; using System.Collections.Generic; using System.Net.Http; using System.Text; using System.Threading.Tasks; using Xunit; namespace Marketing.FunctionalTests { public class MarketingScenarios : MarketingScenariosBase { [Fact] public async Task Set_new_user_location_and_get_location_campaign_by_user_id() { using (var locationsServer = new LocationsScenariosBase().CreateServer()) using (var marketingServer = new MarketingScenariosBase().CreateServer()) { var location = new LocationRequest { Longitude = -122.315752, Latitude = 47.60461 }; var content = new StringContent(JsonConvert.SerializeObject(location), Encoding.UTF8, "application/json"); // GIVEN a new location of user is created await locationsServer.CreateClient() .PostAsync(LocationsScenariosBase.Post.AddNewLocation, content); await Task.Delay(300); //Get campaing from Marketing.API var campaignsResponse = await marketingServer.CreateClient() .GetAsync(CampaignScenariosBase.Get.Campaigns); var responseBody = await campaignsResponse.Content.ReadAsStringAsync(); var campaigns = JsonConvert.DeserializeObject>(responseBody); Assert.True(campaigns.Count > 0); } } } }