|
|
- 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<List<CampaignDTO>>(responseBody);
-
- Assert.True(campaigns.Count > 0);
- }
- }
- }
- }
|