You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

46 lines
1.7 KiB

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);
}
}
}
}