public void Handle(Messages.Commands.CreateAccommodationLead message)
        {
            var accommodationLead = new AccommodationLead
                                        (message.AccommodationLeadID, message.Name, message.Email);

            _domainRepository.Save(accommodationLead);
        }
 public void Setup()
 {
     _id      = Guid.NewGuid();
     _name    = "Joe";
     _email   = "*****@*****.**";
     _accLead = new AccommodationLead(_id, _name, _email);
 }
            public void ShouldClearOutstandingEventsWhenChangesAreMarkedAsCommitted()
            {
                var accLead = new AccommodationLead(Guid.NewGuid(), String.Empty, String.Empty);

                accLead.MarkChangesAsCommitted();
                Assert.That(accLead.OutstandingEvents.Count, Is.EqualTo(0));
            }
 public void Setup()
 {
     _id      = Guid.NewGuid();
     _name    = "Joe";
     _email   = "UserID";
     _accLead = new AccommodationLead(_id, _name, _email);
     _accLead.MarkChangesAsCommitted();
     _accLead.Approve();
 }
        public void Save(AccommodationLead accommodationLead)
        {
            var collection    = GetCollection <AccommodationLead>(ACCOMMODATIONLEAD_COLLECTION);
            var wrappedObject = new QueryObjectWrapper <AccommodationLead>
            {
                Object = accommodationLead,
                _id    = accommodationLead.AccommodationLeadId
            };

            collection.Save(wrappedObject);
        }
        public void ShouldReturnASingleAccommodationLead()
        {
            var id = Guid.NewGuid();
            var accommodationLead = new AccommodationLead {
                AccommodationLeadId = id
            };

            _queryRepository.Stub(x => x.GetAccommodationLeadById(id)).Return(accommodationLead);
            var response = _controller.Get(id);

            Assert.That(response.AccommodationLeadId, Is.EqualTo(id));
        }
示例#7
0
        public void Handle(Messages.Events.AccommodationLeadCreated message)
        {
            LogManager.GetLogger(this.GetType()).Info("Receieved " + message.GetType());
            var accommodationLead = new AccommodationLead
            {
                AccommodationLeadId = message.AccommodationLeadID,
                Name  = message.Name,
                Email = message.Email
            };

            _repository.Save(accommodationLead);
        }
示例#8
0
        public void ShouldSaveAccommodationLead()
        {
            const bool approved          = false;
            var        accommodationLead = new AccommodationLead
            {
                AccommodationLeadId = _id,
                Name     = Name,
                Email    = Email,
                Approved = approved
            };

            _repository.Save(accommodationLead);

            var entity = GetEntity <AccommodationLead>(_id, "accommodationLeads");

            Assert.That(entity, Is.Not.Null);
        }
示例#9
0
        public void ShouldListAccommodationLeads()
        {
            var accommodationLead1 = new AccommodationLead
            {
                AccommodationLeadId = _id,
                Name = Name
            };
            var accommodationLead2 = new AccommodationLead
            {
                AccommodationLeadId = Guid.NewGuid(),
                Name = "Wrong"
            };

            _repository.Save(accommodationLead1);
            _repository.Save(accommodationLead2);

            var entities = _repository.ListAccommodationLeads();

            Assert.That(entities.Count, Is.EqualTo(2));
        }
示例#10
0
        public void ShouldGetAccommodationLeadById()
        {
            var accommodationLead1 = new AccommodationLead
            {
                AccommodationLeadId = _id,
                Name = Name
            };
            var accommodationLead2 = new AccommodationLead
            {
                AccommodationLeadId = Guid.NewGuid(),
                Name = "Wrong"
            };

            _repository.Save(accommodationLead1);
            _repository.Save(accommodationLead2);

            var entity = _repository.GetAccommodationLeadById(_id);

            Assert.That(entity.Name, Is.EqualTo(Name));
        }
示例#11
0
        public void ShouldPublishAnAccommodationLeadApprovedEvent()
        {
            const string name  = "joe";
            const string email = "*****@*****.**";

            var accLeadId         = Guid.NewGuid();
            var accommodationLead = new AccommodationLead(accLeadId, name, email);

            Test.Initialize();
            Test.Handler(bus =>
            {
                var domainRepository = CreateDomainRepository(bus);
                domainRepository.Save(accommodationLead);
                return(new Processors.ApproveAccLead(domainRepository));
            })
            .ExpectPublish <AccommodationLeadApproved>(approved => approved.AccLeadId == accLeadId &&
                                                       approved.Name == name &&
                                                       approved.Email == email)
            .OnMessage <ApproveAccLead>(lead => { lead.AccLeadId = accLeadId; });
        }