Ejemplo n.º 1
0
        public async Task JobProfileServiceRefreshSegmentsReturnsSuccessWhenProfileReplacedAsync()
        {
            // arrange
            var refreshJobProfileSegmentModel = A.Fake <RefreshJobProfileSegment>();
            var existingJobProfileModel       = A.Fake <JobProfileModel>();

            existingJobProfileModel.Segments = new List <SegmentModel>
            {
                new SegmentModel
                {
                    Segment = Data.JobProfileSegment.Overview,
                },
            };

            var jobProfileModel      = A.Fake <JobProfileModel>();
            var existingSegmentModel = A.Dummy <SegmentModel>();
            var segmentModel         = A.Dummy <SegmentModel>();

            var expectedResult = HttpStatusCode.OK;

            A.CallTo(() => repository.GetAsync(A <Expression <Func <JobProfileModel, bool> > > .Ignored)).Returns(existingJobProfileModel);
            A.CallTo(() => segmentService.RefreshSegmentAsync(refreshJobProfileSegmentModel)).Returns(segmentModel);
            A.CallTo(() => repository.UpsertAsync(A <JobProfileModel> .Ignored)).Returns(HttpStatusCode.OK);

            // act
            var result = await jobProfileService.RefreshSegmentsAsync(refreshJobProfileSegmentModel).ConfigureAwait(false);

            // assert
            A.CallTo(() => repository.GetAsync(A <Expression <Func <JobProfileModel, bool> > > .Ignored)).MustHaveHappenedOnceExactly();
            A.CallTo(() => segmentService.RefreshSegmentAsync(refreshJobProfileSegmentModel)).MustHaveHappenedOnceExactly();
            A.CallTo(() => repository.UpsertAsync(A <JobProfileModel> .Ignored)).MustHaveHappenedOnceExactly();
            result.Should().Be(expectedResult);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Refresh([FromBody] RefreshJobProfileSegment refreshJobProfileSegmentModel)
        {
            logService.LogInformation($"{nameof(Refresh)} has been called with {refreshJobProfileSegmentModel?.JobProfileId} for {refreshJobProfileSegmentModel?.CanonicalName} with seq number {refreshJobProfileSegmentModel?.SequenceNumber}");

            if (refreshJobProfileSegmentModel == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var response = await jobProfileService.RefreshSegmentsAsync(refreshJobProfileSegmentModel).ConfigureAwait(false);

            logService.LogInformation($"{nameof(Refresh)} has upserted content for: {refreshJobProfileSegmentModel.CanonicalName} - Response - {response}");
            return(new StatusCodeResult((int)response));
        }