From 81a1029b6ffc392910b4cb153e24a2b820ca9df6 Mon Sep 17 00:00:00 2001 From: Klaus Fischer <klaus.fischer@eloware.com> Date: Tue, 14 Jun 2022 16:30:16 +0200 Subject: [PATCH] Implementing FluentApi Unit test with Moq, Sender --- FitConnect/Client.cs | 15 ++++++++++++--- FitConnect/FluentSender.cs | 2 +- .../{UnitTest1.cs => FluentSenderTests.cs} | 7 ++++--- 3 files changed, 17 insertions(+), 7 deletions(-) rename FluentApiTest/{UnitTest1.cs => FluentSenderTests.cs} (83%) diff --git a/FitConnect/Client.cs b/FitConnect/Client.cs index c7382a07..81bceacd 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 af074993..3f49cafd 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 690d8c0b..ef66ce85 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()); -- GitLab