Esempio n. 1
0
        public async Task PatchOnetSkillReturnsArgumentNullExceptionWhenModelIsNull()
        {
            // Arrange
            var segmentService = new SkillSegmentService(repository, mapper, jobProfileSegmentRefreshService);

            // Act
            await Assert.ThrowsAsync <ArgumentNullException>(async() => await segmentService.PatchOnetSkillAsync(null, Guid.NewGuid()).ConfigureAwait(false)).ConfigureAwait(false);
        }
Esempio n. 2
0
        public async Task PatchOnetSkillReturnsNotFoundWhenDataDoesNotExist()
        {
            // Arrange
            var fakeRepository = A.Fake <ICosmosRepository <JobProfileSkillSegmentModel> >();

            A.CallTo(() => fakeRepository.GetAsync(A <Expression <Func <JobProfileSkillSegmentModel, bool> > > .Ignored)).Returns((JobProfileSkillSegmentModel)null);
            var segmentService = new SkillSegmentService(fakeRepository, mapper, jobProfileSegmentRefreshService);

            // Act
            var result = await segmentService.PatchOnetSkillAsync(GetPatchOnetSkillModel(), defaultJobProfileId).ConfigureAwait(false);

            // Assert
            A.CallTo(() => fakeRepository.GetAsync(A <Expression <Func <JobProfileSkillSegmentModel, bool> > > .Ignored)).MustHaveHappenedOnceExactly();
            Assert.Equal(HttpStatusCode.NotFound, result);
        }
Esempio n. 3
0
        public async Task PatchOnetSkillReturnsAlreadyReportedWhenExistingSequenceNumberIsHigher()
        {
            // Arrange
            var existingModel = GetJobProfileSkillSegmentModel(999);

            var fakeRepository = A.Fake <ICosmosRepository <JobProfileSkillSegmentModel> >();

            A.CallTo(() => fakeRepository.GetAsync(A <Expression <Func <JobProfileSkillSegmentModel, bool> > > .Ignored)).Returns(existingModel);
            var segmentService = new SkillSegmentService(fakeRepository, mapper, jobProfileSegmentRefreshService);

            // Act
            var result = await segmentService.PatchOnetSkillAsync(GetPatchOnetSkillModel(), defaultJobProfileId).ConfigureAwait(false);

            // Assert
            A.CallTo(() => fakeRepository.GetAsync(A <Expression <Func <JobProfileSkillSegmentModel, bool> > > .Ignored)).MustHaveHappenedOnceExactly();
            Assert.Equal(HttpStatusCode.AlreadyReported, result);
        }
Esempio n. 4
0
        public async Task PatchOnetSkillReturnsAlreadyReportedWhenMessageActionIsDeletedAndDataDoesNotExist()
        {
            // Arrange
            var existingModel = GetJobProfileSkillSegmentModel();
            var patchModel    = GetPatchOnetSkillModel(MessageAction.Deleted, Guid.NewGuid());

            var fakeRepository = A.Fake <ICosmosRepository <JobProfileSkillSegmentModel> >();

            A.CallTo(() => fakeRepository.GetAsync(A <Expression <Func <JobProfileSkillSegmentModel, bool> > > .Ignored)).Returns(existingModel);
            var segmentService = new SkillSegmentService(fakeRepository, mapper, jobProfileSegmentRefreshService);

            // Act
            var result = await segmentService.PatchOnetSkillAsync(patchModel, defaultJobProfileId).ConfigureAwait(false);

            // Assert
            A.CallTo(() => fakeRepository.GetAsync(A <Expression <Func <JobProfileSkillSegmentModel, bool> > > .Ignored)).MustHaveHappenedOnceExactly();
            Assert.Equal(HttpStatusCode.AlreadyReported, result);
        }
Esempio n. 5
0
        public async Task PatchOnetSkillReturnsSuccessWhenMessageActionIsDeleted()
        {
            // Arrange
            var model         = GetPatchOnetSkillModel(MessageAction.Deleted);
            var existingModel = GetJobProfileSkillSegmentModel();

            var fakeRepository = A.Fake <ICosmosRepository <JobProfileSkillSegmentModel> >();

            A.CallTo(() => fakeRepository.GetAsync(A <Expression <Func <JobProfileSkillSegmentModel, bool> > > .Ignored)).Returns(existingModel);
            A.CallTo(() => fakeRepository.UpsertAsync(A <JobProfileSkillSegmentModel> .Ignored)).Returns(HttpStatusCode.OK);

            var segmentService = new SkillSegmentService(fakeRepository, mapper, jobProfileSegmentRefreshService);

            // Act
            var result = await segmentService.PatchOnetSkillAsync(model, defaultJobProfileId).ConfigureAwait(false);

            // Assert
            A.CallTo(() => fakeRepository.GetAsync(A <Expression <Func <JobProfileSkillSegmentModel, bool> > > .Ignored)).MustHaveHappenedOnceExactly();
            A.CallTo(() => fakeRepository.UpsertAsync(A <JobProfileSkillSegmentModel> .Ignored)).MustHaveHappenedOnceExactly();
            A.CallTo(() => jobProfileSegmentRefreshService.SendMessageAsync(A <RefreshJobProfileSegmentServiceBusModel> .Ignored)).MustHaveHappenedOnceExactly();
            A.CallTo(() => mapper.Map <OnetSkill>(A <PatchOnetSkillModel> .Ignored)).MustNotHaveHappened();
            Assert.Equal(HttpStatusCode.OK, result);
        }