diff --git a/FitConnect/Client.cs b/FitConnect/Client.cs index c7382a0791c36fa4e04f204387cad7f3b73e3d0b..81bceacda7d913b7f6fe2e2917c8a580604e2c79 100644 --- a/FitConnect/Client.cs +++ b/FitConnect/Client.cs @@ -19,18 +19,27 @@ public class Client { public FluentSender Sender { get; } public FluentSubscriber Subscriber { get; } + /// <summary> + /// FitConnect Client + /// </summary> + /// <param name="endpoints"></param> + /// <param name="clientId"></param> + /// <param name="clientSecret"></param> + /// <param name="senderCertificate"></param> + /// <param name="receiverCertificate"></param> + /// <param name="logger"></param> + /// <param name="container"></param> public Client(FitConnectEndpoints endpoints, string? clientId = null, string? clientSecret = null, X509Certificate2? senderCertificate = null, X509Certificate2? receiverCertificate = null, ILogger? logger = null, IContainer? container = null) { - - container = container ?? DiContainer.GetContainer(endpoints, + container ??= DiContainer.GetContainer(endpoints, senderCertificate, receiverCertificate, logger); var oAuthService = container.Resolve<IOAuthService>(); var submissionService = container.Resolve<ISubmissionService>(); var routeService = container.Resolve<IRouteService>(); - + ClientId = clientId; ClientSecret = clientSecret; _senderCertificate = senderCertificate; diff --git a/FitConnect/FluentSender.cs b/FitConnect/FluentSender.cs index af0749930ec98f674a534bd43d90076b258a8109..3f49cafd311fedabe8d305e861f214d11babca12 100644 --- a/FitConnect/FluentSender.cs +++ b/FitConnect/FluentSender.cs @@ -77,7 +77,7 @@ public class FluentSender : Sender, IFluentApi<FluentSender> { "Can only create a submission after authentication"); Submission = submission; - if (Submission.Destination.Valid) + if (!Submission.Destination.Valid) throw new ArgumentException("Not all destination values are set"); var leikaKey = Submission.Destination.LeikaKey; diff --git a/FluentApiTest/UnitTest1.cs b/FluentApiTest/FluentSenderTests.cs similarity index 83% rename from FluentApiTest/UnitTest1.cs rename to FluentApiTest/FluentSenderTests.cs index 690d8c0b1fcc2496bb6d3b867afbf10f4f5720fc..ef66ce85b88a7e6b9654d96809d47408ef5893ef 100644 --- a/FluentApiTest/UnitTest1.cs +++ b/FluentApiTest/FluentSenderTests.cs @@ -23,7 +23,8 @@ public class FluentSenderTests { var builder = new ContainerBuilder(); var routeService = new Mock<IRouteService>(); - routeService.Setup(r => r.GetDestinationIdAsync("", "", "", "")) + routeService.Setup(r => r.GetDestinationIdAsync(It.IsAny<string>(), It.IsAny<string>(), + It.IsAny<string>(), It.IsAny<string?>())) .Returns(() => Task.Run(() => "destination")); builder.Register(c => new Mock<IOAuthService>().Object).As<IOAuthService>(); @@ -42,12 +43,12 @@ public class FluentSenderTests { } [Test] - public void Test1() { + public void FluentSender_ShouldNotThrowAnError_MockingServices() { _client.Sender .Authenticate(clientId, clientSecret) .CreateSubmission(new Submission { Attachments = new List<Attachment>(), ServiceType = new ServiceType(), - DestinationId = "93493" + Destination = new Destination { LeikaKey = "09929292772", AreaId = "948488" } }) .UploadAttachments() .SendSubmission(new Metadata(), new Data());