BinaryStudio.ClientManager.DomainModel.Input.InquiryFactory.CreateInquiry C# (CSharp) Метод

CreateInquiry() публичный Метод

Creates Inquiry from MailMessage and save it to repository.
public CreateInquiry ( Entities message ) : Inquiry
message Entities Source MailMessage for Inquiry
Результат BinaryStudio.ClientManager.DomainModel.Entities.Inquiry
        public Inquiry CreateInquiry(Entities.MailMessage message)
        {
            return new Inquiry
                    {
                        Client = message.Sender,
                        Description = message.Body,
                        Source = message,
                        Subject = message.Subject,
                        ReferenceDate = null,
                    };
        }

Usage Example

        public void Should_CreateInquiryWithCorrectFields_WhenCreateInquiryCalled()
        {
            // arrange
            var employee = Builder<Person>.CreateNew()
                .With(x=>x.Role==PersonRole.Employee)
                .Build();
            var mailMessage = Builder<MailMessage>.CreateNew()
                .With(z => z.Sender = Builder<Person>.CreateNew().Build())
                .With(z=>z.Receivers=new List<Person>{employee})
                .Build();
            var repository = Substitute.For<IRepository>();
            repository.Query<User>().ReturnsForAnyArgs(new List<User>
                {
                    new User
                    {
                        RelatedPerson = employee,
                        CurrentTeam = new Team
                                          {
                                              Name = "1"
                                          }
                    }
                }.AsQueryable());

            var inquiryFactory = new InquiryFactory();

            // act
            var inquiry = inquiryFactory.CreateInquiry(mailMessage);

            // assert
            Assert.That(
                inquiry.Description == mailMessage.Body &&
                inquiry.ReferenceDate == null &&
                inquiry.Client == mailMessage.Sender &&
                inquiry.Subject == mailMessage.Subject &&
                inquiry.Source == mailMessage
                );
        }
InquiryFactory