Newer
Older
using System;
using Autofac;
using FitConnect;
using FitConnect.Models;
using NUnit.Framework;
namespace FluentApiTest;
public class FluentSenderTests {
protected string clientId = null!;
protected string clientSecret = null!;
[OneTimeSetUp]
public void OneTimeSetup() {
_container = Container.Create();
var settings = _container.Resolve<MockSettings>();
clientId = settings.SenderClientId;
clientSecret = settings.SenderClientSecret;
leikaKey = settings.LeikaKey;
[SetUp]
public void Setup() {
}
[Test]
public void FluentSender_ShouldNotThrowAnError_ArgumentExceptionLeikaKeyInvalid() {
Assert.Throws<ArgumentException>(() => {
new Sender(FitConnectEnvironment.Testing,
.WithDestination(Guid.NewGuid().ToString())
.WithServiceType("", "")
.WithAttachments(Array.Empty<Attachment>())
.WithData("")
.Submit();
})!.Message.Should().Be("Invalid leika key");
}
public void FluentSender_ShouldNotThrowAnError_MockingServicesWithData() {
new Sender(FitConnectEnvironment.Testing,
.WithDestination(Guid.NewGuid().ToString())
.WithAttachments(Array.Empty<Attachment>())
.WithData("")
.Submit();
public void FluentSender_ShouldNotThrowAnError_MockingServicesWithoutData() {
new Sender(FitConnectEnvironment.Testing,
clientId, clientSecret,
Container.Create())
.WithDestination(Guid.NewGuid().ToString())
.WithAttachments(Array.Empty<Attachment>())
.Submit();
[Test]
public void VerifyMetaData_ValidData_Fine() {
// Arrange
var submission = new Submission();
// Act
var metadata = Sender.CreateMetadata(submission);
// Assert
var errors = Subscriber.VerifyMetadata(metadata);
foreach (var error in errors) Console.WriteLine(error.ToString());
errors.Count.Should().Be(0);
}
[Test]
public void VerifyMetaData_MissingLeikaKey_ThorwsAnError() {
// Arrange
var submission = new Submission();
// Act
var metadata = Sender.CreateMetadata(submission);
// Assert
var errors = Subscriber.VerifyMetadata(metadata);
foreach (var error in errors) Console.WriteLine(error.ToString());
errors.Count.Should().Be(1);
}