public void AddJobAsync_AddNewJobToCharacterJobsAndNotifyIt()
        {
            const int characterId      = 5;
            var       jobId            = Guid.NewGuid();
            var       executionContext = new NaheulbookExecutionContext();
            var       request          = new CharacterAddJobRequest {
                JobId = jobId
            };
            var character = new Character {
                Jobs = new List <CharacterJob>(), Id = characterId
            };
            var job = new Job {
                Id = jobId
            };

            _unitOfWorkFactory.GetUnitOfWork().Characters.GetWithOriginWithJobsAsync(characterId)
            .Returns(character);
            _unitOfWorkFactory.GetUnitOfWork().Jobs.GetAsync(jobId)
            .Returns(job);
            _unitOfWorkFactory.GetUnitOfWork().When(x => x.SaveChangesAsync())
            .Do(_ =>
            {
                character.Jobs.Should().HaveCount(1);
                character.Jobs.First().Job.Should().BeSameAs(job);
            });

            _service.AddJobAsync(executionContext, characterId, request);

            Received.InOrder(() =>
            {
                _notificationSessionFactory.NotificationSession.NotifyCharacterAddJob(characterId, jobId);
                _unitOfWorkFactory.GetUnitOfWork().SaveChangesAsync();
                _notificationSessionFactory.NotificationSession.Received().CommitAsync();
            });
        }