public void When_GetOccupationsWithMatchingSkillsRequestCreated_Then_SkillsListShouldBeInitialised()
        {
            // Arrange


            // Act
            var x = new GetOccupationsWithMatchingSkillsRequest();

            // Assert
            x.SkillList.Should().NotBeNull();
            x.SkillList.Should().HaveCount(0);
        }
        public void When_GetOccupationsWithMatchingSkillsRequestInitialised_Then_PropertiesShouldHaveValues()
        {
            // Arrange


            // Act
            var x = new GetOccupationsWithMatchingSkillsRequest()
            {
                MinimumMatchingSkills = 7,
            };

            // Assert
            x.MinimumMatchingSkills.Should().Be(7);
        }
        public async Task <OccupationMatch[]> FindOccupationsForSkills(string apiPath, string ocpApimSubscriptionKey, string[] skillIds, int minimumMatchingSkills)
        {
            var request = new GetOccupationsWithMatchingSkillsRequest()
            {
                MinimumMatchingSkills = minimumMatchingSkills,
            };

            foreach (var skill in skillIds)
            {
                request.SkillList.Add(skill);
            }

            var jsonPayload = JsonConvert.SerializeObject(request);
            var postData    = new StringContent(jsonPayload, Encoding.UTF8, MediaTypeNames.Application.Json);
            var response    = await GetJsonListPost <GetOccupationsWithMatchingSkillsResponse>($"{apiPath}/GetOccupationsWithMatchingSkills/Execute", ocpApimSubscriptionKey, postData);

            var result = Mapping.Mapper.Map <OccupationMatch[]>(response.MatchingOccupations);

            return(result);
        }