public void MailsGet_returnJson_WhenDB_is_Empty()
        {
            //Arrange
            //Mocking ApplicationContext
            var options = new DbContextOptionsBuilder <ApplicationContext>()
                          .UseInMemoryDatabase(databaseName: "EmailAPI.MoqDB")
                          .Options;
            var context = new ApplicationContext(options);

            var settings = new JsonSerializerSettings()
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
                Error = (sender, args) =>
                {
                    args.ErrorContext.Handled = true;
                },
            };

            var myEntity   = context.Emails.Select(x => x).ToList();
            var resultJson = JsonConvert.SerializeObject(myEntity, settings);

            //Act
            var controller = new MailsController(context, null);

            //Assert
            var result = controller.Get();

            Assert.Equal(resultJson, result.Result);
        }
Пример #2
0
        public void MailsPost_OkResult()
        {
            //Arrange
            Mock <IEmailSender> emailSender = new Mock <IEmailSender>();

            //Mocking ApplicationContext
            var options = new DbContextOptionsBuilder <ApplicationContext>()
                          .UseInMemoryDatabase(databaseName: "EmailAPI.MoqDB")
                          .Options;
            var context = new ApplicationContext(options);

            var emailPostForm = new EmailPostForm();

            emailPostForm.Subject    = "test";
            emailPostForm.Body       = "test";
            emailPostForm.Recipients = new[] { "*****@*****.**", "*****@*****.**", "Hi@[email protected]" };

            //Act
            var controller = new MailsController(context, emailSender.Object);

            //Assert
            var result = controller.Post(emailPostForm).Result;

            Assert.IsType <OkResult>(result);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="MainForm"/> class.
 /// </summary>
 public MainForm()
 {
     InitializeComponent();
     displayNameProperty     = "cn";
     mailProperty            = "mail";
     passwordProperty        = "userPassword";
     recievedMailsWithErrors = false;
     users           = new List <User>();
     mails           = new List <Mail>();
     usersController = new UsersController(this, users);
     mailsController = new MailsController(this, mails);
 }
 /// <summary>
 /// Sets the controller context.
 /// </summary>
 /// <param name="controller">The <see cref="MailsController"/> to set.</param>
 public void SetController(MailsController mailsController)
 {
     this.mailsController = mailsController;
 }
        public void MailsGet_returnJson_WhenInDB_3_Rows()
        {
            //Arrange
            //Mocking ApplicationContext
            var options = new DbContextOptionsBuilder <ApplicationContext>()
                          .UseInMemoryDatabase(databaseName: "EmailAPI.MoqDB")
                          .Options;
            var context = new ApplicationContext(options);

            context.Add(new EmailLog()
            {
                From          = "*****@*****.**",
                Recipients    = "*****@*****.**",
                Subject       = "Test",
                Body          = "Test",
                DateOfSend    = DateTime.Now,
                Result        = "Ok",
                FailedMessage = ""
            });
            context.Add(new EmailLog()
            {
                From          = "*****@*****.**",
                Recipients    = "*****@*****.**",
                Subject       = "Test",
                Body          = "Test",
                DateOfSend    = DateTime.Now,
                Result        = "Failed",
                FailedMessage = "MailboxBusy"
            });
            context.Add(new EmailLog()
            {
                From          = "*****@*****.**",
                Recipients    = "*****@*****.**",
                Subject       = "Test",
                Body          = "Test",
                DateOfSend    = DateTime.Now,
                Result        = "Ok",
                FailedMessage = ""
            });

            context.SaveChanges();

            var settings = new JsonSerializerSettings()
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
                Error = (sender, args) =>
                {
                    args.ErrorContext.Handled = true;
                },
            };

            var myEntity   = context.Emails.Select(x => x).ToList();
            var resultJson = JsonConvert.SerializeObject(myEntity, settings);

            //Act
            var controller = new MailsController(context, null);

            //Assert
            var result = controller.Get();

            Assert.Equal(resultJson, result.Result);
        }