Пример #1
0
        public static LiveUpdateKind DetermineLiveUpdateKind(Vacancy vacancy, DateTime?proposedClosingDate, DateTime?proposedStartDate)
        {
            LiveUpdateKind updateKind = LiveUpdateKind.None;

            if (vacancy.ClosingDate != proposedClosingDate)
            {
                updateKind |= LiveUpdateKind.ClosingDate;
            }

            if (vacancy.StartDate != proposedStartDate)
            {
                updateKind |= LiveUpdateKind.StartDate;
            }

            return(updateKind);
        }
        public Task UpdatePublishedVacancyAsync(Vacancy vacancy, VacancyUser user, LiveUpdateKind updateKind)
        {
            var command = new UpdateLiveVacancyCommand(vacancy, user, updateKind);

            return(_messaging.SendCommandAsync(command));
        }
Пример #3
0
        public async Task GivenLiveVacancyUpdatedEventWithDateChange_NotifyLiveVacancyChanged(LiveUpdateKind updateKind)
        {
            var @event = new LiveVacancyUpdatedEvent
            {
                VacancyId        = _existingVacancy.Id,
                VacancyReference = _existingVacancy.VacancyReference.Value,
                UpdateKind       = updateKind
            };

            await _handler.Handle(@event, CancellationToken.None);

            _mockNotifier
            .Verify(x => x.LiveVacancyChanged(_existingVacancy), Times.Once);
        }
        public async Task WhenClosingDateHasNotChanged_ShouldNotPublishLiveVacancyClosingDateChangedEvent(LiveUpdateKind updateKind)
        {
            var user           = new VacancyUser();
            var updatedVacancy = CreateVacancy();

            var message = new UpdateLiveVacancyCommand(updatedVacancy, user, updateKind);

            await _handler.Handle(message, CancellationToken.None);

            _mockMessaging.Verify(x => x.PublishEvent(It.IsAny <LiveVacancyClosingDateChangedEvent>()), Times.Never);
        }
        public async Task WhenLiveVacancyClosingDateHasChanged_ShouldPublishLiveVacancyClosingDateChangedEvent(LiveUpdateKind updateKind)
        {
            var user           = new VacancyUser();
            var updatedVacancy = CreateVacancy();

            var message = new UpdateLiveVacancyCommand(updatedVacancy, user, updateKind);

            await _handler.Handle(message, CancellationToken.None);

            _mockMessaging
            .Verify(x => x.PublishEvent(
                        It.Is <LiveVacancyClosingDateChangedEvent>(p =>
                                                                   p.NewClosingDate == updatedVacancy.ClosingDate.Value &&
                                                                   p.VacancyId == _vacancyId &&
                                                                   p.VacancyReference == updatedVacancy.VacancyReference
                                                                   )));
        }
 public UpdateLiveVacancyCommand(Vacancy vacancy, VacancyUser user, LiveUpdateKind updateKind)
 {
     Vacancy    = vacancy;
     User       = user;
     UpdateKind = updateKind;
 }