public void AddDeliveredEmail_ShouldAddDeliveredEmailEntityToDb() { //SeedEmailAddresses(); var repository = new EmailRepository(_context); var testDeliveredEmail = new DeliveredEmail() { Email = new Email() { Subject = "This is a test email sent from XUnit", MessageText = "Hey man, reply when you have the chance.", DateSent = DateTime.Now, MessageHtml = "Some HTML" }, Receiver = new EmailAddress() { Name = "Me", Email = "*****@*****.**" }, Sender = new EmailAddress() { Name = "Michelle", Email = "*****@*****.**" } }; repository.AddDeliveredEmail(testDeliveredEmail); _context.SaveChanges(); Assert.Equal(1, _context.DeliveredEmails.Count()); Assert.Equal(2, _context.EmailAddresses.Count()); Assert.Equal(1, _context.Emails.Count()); }
/// <summary> /// Changes the state of the given email to delivered. /// </summary> /// <param name="email">The email.</param> private void EmailDelivered(IScheduledEmail email) { // delete the email from scheduled store and move it to delivered store. var deliveredEmail = new DeliveredEmail { RecipientAddress = email.RecipientAddress, DeliveredDateTime = DateTime.UtcNow, Subject = email.Subject, Body = email.Body }; using (var transaction = _databaseContext.DemandTransaction()) { _databaseContext.ScheduledEmails.Delete(email); _databaseContext.DeliveredEmails.Insert(deliveredEmail); transaction.Commit(); } }
public void TestDeliveredEmail() { // arrange var email = new DeliveredEmail { RecipientAddress = "*****@*****.**", Body = "body", DeliveredDateTime = Truncate(DateTime.UtcNow), Subject = "subject" }; // act var result = RunTest(email, _databaseContext.DeliveredEmails, x => ((DeliveredEmail)x).Id); // assert result.Body.ShouldBe(email.Body); result.RecipientAddress.ShouldBe(email.RecipientAddress); result.DeliveredDateTime.ShouldBe(email.DeliveredDateTime); result.Subject.ShouldBe(email.Subject); }
public void AddDeliveredEmail(DeliveredEmail deliveredEmail) { _context.DeliveredEmails.Add(deliveredEmail); }