コード例 #1
0
        public void Arrange()
        {
            var fixture = new Fixture();

            _request = fixture.Create <GetBatchLearnerRequest>();

            _response = fixture.Build <GetLearnerResponse>()
                        .With(r => r.ValidationErrors, new List <string>()).Create();

            _mockApiClient = new Mock <IApiClient>();
            _mockApiClient.Setup(c => c.GetLearner(It.IsAny <GetBatchLearnerRequest>())).ReturnsAsync(_response);

            _learnerController = new LearnerController(Mock.Of <ILogger <LearnerController> >(), Mock.Of <IHeaderInfo>(), _mockApiClient.Object);
        }
コード例 #2
0
        public async Task <GetLearnerResponse> GetLearner(GetLearnerRequest request)
        {
            var response = new GetLearnerResponse
            {
                Uln        = request.Uln,
                FamilyName = request.FamilyName,
                Standard   = request.Standard
            };

            using (var apiResponse = await _httpClient.GetAsync($"api/v1/learner/{request.Uln}/{request.FamilyName}/{request.Standard}"))
            {
                if (apiResponse.IsSuccessStatusCode)
                {
                    response.Learner = await apiResponse.Content.ReadAsAsync <Learner>();
                }
                else
                {
                    response.Error = await apiResponse.Content.ReadAsAsync <ApiResponse>();
                }
            }

            return(response);
        }