def test_options(self):
     program_family = ProgramFamilyFactory()
     with self.login(email=self.basic_user().email):
         url = reverse(ProgramFamilyDetailView.view_name,
                       args=[program_family.id])
         response = self.client.options(url)
         assert response.status_code == 200
         get_options = response.data["actions"]["GET"]["properties"]
         assert_fields(PROGRAM_FAMILY_GET_FIELDS, get_options)
 def test_get(self):
     program_family = ProgramFamilyFactory()
     with self.login(email=self.basic_user().email):
         url = reverse(ProgramFamilyDetailView.view_name,
                       args=[program_family.id])
         response = self.client.get(url)
         assert response.data["name"] == program_family.name
         assert (response.data["short_description"] ==
                 program_family.short_description)
Пример #3
0
def _example_expert(**kwargs):
    result = EXAMPLE_MEMBER.copy()
    result.update(kwargs)
    if "home_program_family_id" not in result:
        result["home_program_family_id"] = ProgramFamilyFactory().id
    if "primary_industry_id" not in result:
        result["primary_industry_id"] = IndustryFactory().id
    if "expert_category" not in result:
        result["expert_category"] = ExpertCategoryFactory().name
    result.update(EXAMPLE_EXPERT)
    return result
 def test_get(self):
     count = 5
     program_families = ProgramFamilyFactory.create_batch(count)
     with self.login(email=self.basic_user().email):
         response = self.client.get(self.url)
         assert response.data["count"] == count
         assert all([
             ProgramFamilyListView.serialize(program_family)
             in response.data["results"]
             for program_family in program_families
         ])
    def test_options_against_get(self):
        program_family = ProgramFamilyFactory()
        with self.login(email=self.basic_user().email):
            url = reverse(ProgramFamilyDetailView.view_name,
                          args=[program_family.id])

            options_response = self.client.options(url)
            get_response = self.client.get(url)

            schema = options_response.data["actions"]["GET"]
            validator = Draft4Validator(schema)
            assert validator.is_valid(json.loads(get_response.content))
 def test_get_entrepreneur_with_program_family_interests(self):
     program_families = ProgramFamilyFactory.create_batch(2)
     context = UserContext(user_type=ENTREPRENEUR_USER_TYPE,
                           program_families=program_families)
     user = context.user
     with self.login(email=self.basic_user().email):
         url = reverse(UserDetailView.view_name, args=[user.id])
         response = self.client.get(url)
         program_family_ids = [
             datum["id"] for datum in response.data["program_families"]
         ]
         assert all([
             program_family.id in program_family_ids
             for program_family in program_families
         ])
 def test_patch_ids(self):
     context = UserContext(user_type=EXPERT_USER_TYPE)
     user = context.user
     profile = get_profile(user)
     industry = IndustryFactory()
     program_family = ProgramFamilyFactory()
     with self.login(email=self.basic_user().email):
         url = reverse(UserDetailView.view_name, args=[user.id])
         self.client.patch(url, {
             "home_program_family_id": program_family.id,
             "primary_industry_id": industry.id,
         })
         user.refresh_from_db()
         profile.refresh_from_db()
         helper = UserHelper(user)
         assert (helper.field_value("home_program_family_id") ==
                 program_family.id)
         assert (helper.profile_helper.subject.primary_industry_id ==
                 industry.id)