public void Should_ReturnBodyFromOriginalMessage_WnehCalledGetBody(string body, string originalBody) { //arrange var mailMessage = new MailMessage { Body = body, }; var mailMessageParser = new MailMessageParserThunderbird(); //act var result = mailMessageParser.GetBody(mailMessage); //assert result.Should().Be(originalBody); }
public void Should_ReturnSenderMailAddressFromBody_WnehCalledGetSenderFromForwardedMail(string body, string mailAddress) { //arrange var mailMessage = new MailMessage { Body = body, }; var mailMessageParser = new MailMessageParserThunderbird(); //act var result = mailMessageParser.GetSender(mailMessage); //assert result.Address.Should().Be(mailAddress); }
public void Should_ThrowException_WhenCalledGetSenderWithNoEmailAddressInBody() { //arrange var mailMessage = new MailMessage { Body = "No email addresses there" }; var mailMessageParser = new MailMessageParserThunderbird(); //act Action action = () => mailMessageParser.GetSender(mailMessage); //assert action .ShouldThrow <ApplicationException>() .WithMessage("Forwarded message has illegal format"); }
public void Should_ThrowException_WhenCalledGetSenderWithNoEmailAddressInBody() { //arrange var mailMessage = new MailMessage { Body = "No email addresses there" }; var mailMessageParser = new MailMessageParserThunderbird(); //act Action action = () => mailMessageParser.GetSender(mailMessage); //assert action .ShouldThrow<ApplicationException>() .WithMessage("Forwarded message has illegal format"); }
public void Should_SaveMailMessageToRepositoryAndCreateAndSaveInquiry_WhenClientSendMessageToEmployeeWithCarbonCopyToOurSystem() { //arrange var mailMessage = new MailMessage { Body = "a", Date = Clock.Now, Subject = "s", Sender = new MailAddress("*****@*****.**", "client"), Receivers = new List<MailAddress> {new MailAddress("*****@*****.**", "employee")}, }; aeEmailClient.GetUnreadMessages().Returns(new List<MailMessage> { mailMessage }.AsQueryable()); var employeePerson = new Person { Email = "*****@*****.**", FirstName = "employee", Role = PersonRole.Employee }; repository.Query<Person>().ReturnsForAnyArgs(new List<Person> { employeePerson, new Person { Email="*****@*****.**", FirstName = "client", Role = PersonRole.Client } }.AsQueryable()); repository.Query<User>().ReturnsForAnyArgs(new List<User> { new User { RelatedPerson = employeePerson, CurrentTeam = new Team { Name = "1" } } }.AsQueryable()); repository.Query<Inquiry>().ReturnsForAnyArgs(new List<Inquiry>().AsQueryable()); //act mailMessagePersister.ProcessMessage(aeEmailClient, EventArgs.Empty); //assert repository.Received().Save(Arg.Is<Entities.MailMessage>(x => x.Sender.Email == "*****@*****.**" && x.Receivers.Any(receiver => receiver.Email == "*****@*****.**") && x.Receivers.Count == 1)); repository.Received().Save(Arg.Is<Inquiry>(x=>x.Subject=="s" && x.ReferenceDate==null && x.Client.Email=="*****@*****.**" && x.Client.FirstName=="client" && x.Client.Role==PersonRole.Client)); }
public void Should_SaveMailMessageToRepositoryAndCreateAndSaveInquiry_WhenClientSendMessageToEmployeeWithCarbonCopyToOurSystem() { //arrange var mailMessage = new MailMessage { Body = "a", Date = Clock.Now, Subject = "s", Sender = new MailAddress("*****@*****.**", "client"), Receivers = new List <MailAddress> { new MailAddress("*****@*****.**", "employee") }, }; aeEmailClient.GetUnreadMessages().Returns(new List <MailMessage> { mailMessage }.AsQueryable()); var employeePerson = new Person { Email = "*****@*****.**", FirstName = "employee", Role = PersonRole.Employee }; repository.Query <Person>().ReturnsForAnyArgs(new List <Person> { employeePerson, new Person { Email = "*****@*****.**", FirstName = "client", Role = PersonRole.Client } }.AsQueryable()); repository.Query <User>().ReturnsForAnyArgs(new List <User> { new User { RelatedPerson = employeePerson, CurrentTeam = new Team { Name = "1" } } }.AsQueryable()); repository.Query <Inquiry>().ReturnsForAnyArgs(new List <Inquiry>().AsQueryable()); //act mailMessagePersister.ProcessMessage(aeEmailClient, EventArgs.Empty); //assert repository.Received().Save(Arg.Is <Entities.MailMessage>(x => x.Sender.Email == "*****@*****.**" && x.Receivers.Any(receiver => receiver.Email == "*****@*****.**") && x.Receivers.Count == 1)); repository.Received().Save(Arg.Is <Inquiry>(x => x.Subject == "s" && x.ReferenceDate == null && x.Client.Email == "*****@*****.**" && x.Client.FirstName == "client" && x.Client.Role == PersonRole.Client)); }