using System; using System.Threading.Tasks; using Centron.BusinessLogic; using Centron.BusinessLogic.DataExchange.GfkExport; using Centron.Tests.EndToEnd.Infrastructure; using CentronSoftware.Centron.WebServices.Entities.DataExchange.Exports; using Xunit.Abstractions; namespace Centron.Tests.EndToEnd.Tests.GfkExport { public class GfkExportTest : EndToEndTest { public GfkExportTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } public override void Execute() { ExecuteGfkExport().Wait(); } private async Task ExecuteGfkExport() { await this.CreateGfkExportWeekly(); await this.CreateGfkExportDaily(); } private async Task CreateGfkExportDaily() { var settings = new GfkSettingsDTO() { Password = "alice", Port = 42, Url = "127.0.0.1", Username = "Bob", IsActive = true, NextExecution = new DateTime(2017, 5, 23, 23, 59, 59), WeeklyUpload = false }; var fileAsString = await CreateGfkExport(settings); this.Verifier.Verify("GfkExportDaily", fileAsString); } private async Task CreateGfkExportWeekly() { var settings = new GfkSettingsDTO() { Password = "alice", Port = 42, Url = "127.0.0.1", Username = "Bob", IsActive = true, NextExecution = new DateTime(2017,5,23,23,59,59), WeeklyUpload = true }; var fileAsString = await CreateGfkExport(settings); this.Verifier.Verify("GfkExportWeekly", fileAsString); } private async Task CreateGfkExport(GfkSettingsDTO settings) { using (var session = new BLSession()) { var gfkExportBl = session.GetBL(); var result = await gfkExportBl.CreateGfkExportAsync(settings, uploadToFTP: false); return result.Data; } } } }