public void JobProfileServiceCreateReturnsSuccessWhenProfileCreated()
        {
            // arrange
            var             jobProfileModel = A.Fake <JobProfileModel>();
            var             expectedResult  = HttpStatusCode.OK;
            JobProfileModel nullModel       = null;

            A.CallTo(() => repository.GetAsync(A <Expression <Func <JobProfileModel, bool> > > .Ignored)).Returns(nullModel);
            A.CallTo(() => repository.UpsertAsync(A <JobProfileModel> .Ignored)).Returns(HttpStatusCode.Created);

            // act
            var result = jobProfileService.Create(jobProfileModel).Result;

            // assert
            A.CallTo(() => repository.UpsertAsync(A <JobProfileModel> .Ignored)).MustHaveHappenedOnceExactly();
            A.Equals(result, expectedResult);
        }
コード例 #2
0
        public async Task <IActionResult> Create([FromBody] JobProfileModel jobProfileModel)
        {
            //AOP: These should be coded as an Aspect
            logService.LogInformation($"{nameof(Create)} has been called with {jobProfileModel?.JobProfileId} for {jobProfileModel?.CanonicalName} with seq number {jobProfileModel?.SequenceNumber}");

            if (jobProfileModel is null)
            {
                return(BadRequest());
            }

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

            var response = await jobProfileService.Create(jobProfileModel).ConfigureAwait(false);

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