Beispiel #1
0
        public void Can_log_Licensee_Updated()
        {
            var @event = new LicenseeUpdated();

            _serviceBus.PublishMessage(@event);
            AssertAdminActivityLog(@event, AdminActivityLogCategory.Licensee);
        }
Beispiel #2
0
        public void Handle(LicenseeUpdated licenseeLanguagesAssignedEvent)
        {
            var repository = _container.Resolve <IReportRepository>();

            if (licenseeLanguagesAssignedEvent.Languages.Any(l =>
                                                             repository.LanguageRecords.All(lr => lr.Code != l)))
            {
                //todo: create more detailed message
                throw new RegoException(LanguageRecordsWereNotFoundMessage);
            }

            UpdateAssignedInLicensee(repository,
                                     licenseeLanguagesAssignedEvent.Languages,
                                     licenseeLanguagesAssignedEvent.Name);
        }
Beispiel #3
0
        public void Handle(LicenseeUpdated updatedEvent)
        {
            var repository = _container.Resolve <IReportRepository>();
            var record     = repository.LicenseeRecords.SingleOrDefault(r => r.LicenseeId == updatedEvent.Id);

            if (record == null)
            {
                throw new RegoException(string.Format(LicenseeRecordWasNotFoundMessage, updatedEvent.Id));
            }

            record.Name            = updatedEvent.Name;
            record.CompanyName     = updatedEvent.CompanyName;
            record.EmailAddress    = updatedEvent.Email;
            record.AffiliateSystem = updatedEvent.AffiliateSystem;
            record.ContractStart   = updatedEvent.ContractStart;
            record.ContractEnd     = updatedEvent.ContractEnd;
            record.Updated         = updatedEvent.EventCreated;
            record.UpdatedBy       = updatedEvent.EventCreatedBy;
            repository.SaveChanges();
        }
        public void Can_process_licensee_updated()
        {
            // Arrange
            var licensee           = BrandTestHelper.CreateLicensee(false);
            var newName            = TestDataGenerator.GetRandomString(5);
            var newCompanyName     = newName + " Inc.";
            var newEmail           = TestDataGenerator.GetRandomEmail();
            var newAffiliateSystem = TestDataGenerator.GetRandomNumber(2) > 1;
            var newContractStart   = DateTimeOffset.UtcNow.Date.AddDays(-TestDataGenerator.GetRandomNumber(30));
            var newContractEnd     = newContractStart.AddMonths(3);

            // Act
            var @event = new LicenseeUpdated(new Licensee
            {
                Id              = licensee.Id,
                Name            = newName,
                CompanyName     = newCompanyName,
                Email           = newEmail,
                AffiliateSystem = newAffiliateSystem,
                ContractStart   = newContractStart,
                ContractEnd     = newContractEnd
            });

            _serviceBus.PublishMessage(@event);

            // Assert
            Assert.AreEqual(2, _reportRepository.LicenseeRecords.Count());
            var record = _reportRepository.LicenseeRecords.Last();

            Assert.AreEqual(licensee.Id, record.LicenseeId);
            Assert.AreEqual(newName, record.Name);
            Assert.AreEqual(newCompanyName, record.CompanyName);
            Assert.AreEqual(newEmail, record.EmailAddress);
            Assert.AreEqual(newAffiliateSystem, record.AffiliateSystem);
            Assert.AreEqual(newContractStart.Date, record.ContractStart.Date);
            Assert.AreEqual(newContractEnd.Date, record.ContractEnd.Value.Date);
            Assert.AreEqual(licensee.Status.ToString(), record.Status);
            record.Updated.Should().BeCloseTo(@event.EventCreated);
            Assert.AreEqual("SuperAdmin", record.UpdatedBy);
        }
 public void Consume(LicenseeUpdated message)
 {
     _eventHandlers.Handle(message);
 }
Beispiel #6
0
 public void Handle(LicenseeUpdated @event)
 {
     AddActivityLog(AdminActivityLogCategory.Licensee, @event);
 }