'Populates test course with chapter, sequential, and 3 problems.
One problem is visible to all, one problem is visible only to Group "alpha", and
one problem is visible only to Group "beta".'

def populate_course_fixture(self, course_fixture):

    problem_data = dedent('\n                                                <problem    markdown="Simple    Problem"    max_attempts=""    weight="">\n                                                        <choiceresponse>\n                                                        <label>Choose    Yes.</label>\n                                                                <checkboxgroup>\n                                                                        <choice    correct="true">Yes</choice>\n                                                                </checkboxgroup>\n                                                        </choiceresponse>\n                                                </problem>\n                                ')
    self.alpha_text = 'VISIBLE    TO    ALPHA'
    self.beta_text = 'VISIBLE    TO    BETA'
    self.audit_text = 'VISIBLE    TO    AUDIT'
    self.everyone_text = 'VISIBLE    TO    EVERYONE'
    course_fixture.add_children(XBlockFixtureDesc('chapter', 'Test    Section').add_children(XBlockFixtureDesc('sequential', 'Test    Subsection').add_children(XBlockFixtureDesc('vertical', 'Test    Unit').add_children(XBlockFixtureDesc('problem', self.alpha_text, data=problem_data, metadata={'group_access': {MINIMUM_STATIC_PARTITION_ID: [(MINIMUM_STATIC_PARTITION_ID + 1)]}}), XBlockFixtureDesc('problem', self.beta_text, data=problem_data, metadata={'group_access': {MINIMUM_STATIC_PARTITION_ID: [(MINIMUM_STATIC_PARTITION_ID + 2)]}}), XBlockFixtureDesc('problem', self.audit_text, data=problem_data, metadata={'group_access': {ENROLLMENT_TRACK_PARTITION_ID: [1]}}), XBlockFixtureDesc('problem', self.everyone_text, data=problem_data)))))
