예제 #1
0
    public void ShouldConvertMailjetMessageToCorrectJson()
    {
        var options = new MailjetOptions
        {
            ApiKeyPublic         = "",
            ApiKeyPrivate        = "",
            IsSendingMailAllowed = true,
        };

        var client = new MailjetService(options);

        var mailjetMail = new MailjetMail()
        {
            Users = new List <User> {
                new User {
                    Email = "*****@*****.**"
                }
            },
            Variables = new NestedClass
            {
                I = 42,
                S = "toto"
            }
        };

        var converted = client.ConvertToMailjetMessage(mailjetMail);

        var json = JObject.FromObject(converted);

        Assert.Equal("toto", json["Variables"]?["field"]?.Value <string>());
        Assert.Equal(42, json["Variables"]?["I"]?.Value <int>());
        Assert.Equal("*****@*****.**", json["To"]?[0]?["Email"]?.Value <string>());
        Assert.False(json.ContainsKey("From"));
    }
예제 #2
0
    public void ShoulConvertToCorrectMailjetEntity()
    {
        var options = new MailjetOptions
        {
            ApiKeyPublic         = "",
            ApiKeyPrivate        = "",
            IsSendingMailAllowed = true
        };

        var client = new MailjetService(options);

        var mailjetMail = new MailjetMail()
        {
            Users = new List <User> {
                new User {
                    Email = "*****@*****.**"
                }
            },
        };

        var converted = client.ConvertToMailjetMessage(mailjetMail);

        Assert.Null(converted.From);
        Assert.IsType <List <MailjetMailUser> >(converted.To);
        Assert.Equal("*****@*****.**", converted.To[0].Email);
    }
        /// <summary>
        /// Registers <c>IMailjetOptions</c>, <c>IMailjetEmailClient</c>, <c>IMailjetSimpleClient</c>
        /// </summary>
        /// <param name="serviceCollection">Service collection</param>
        /// <param name="config">Configuration action</param>
        public static void AddMailjetClients(this IServiceCollection serviceCollection, Action <IMailjetOptions> config)
        {
            Log.Debug("Adding Mailjet clients to dependency injection");
            var options = new MailjetOptions();

            config(options);
            serviceCollection.AddMailjetOptions(options);
            serviceCollection.AddMailjetSimpleClient();
            serviceCollection.AddMailjetEmailClient();
            serviceCollection.AddMailjetSmsClient();
            Log.Debug("Added Mailjet clients to dependency injection");
        }
예제 #4
0
 public MailjetService(MailjetOptions options) : base(options.ApiKeyPublic, options.ApiKeyPrivate, options.SenderEmail, options.SenderName, options.TestingRedirectionMail, options.IsSendingMailAllowed)
 {
 }