def test_update_in_nested_three_levels(_, set_org_repo_kwargs):
    selection = _.blah[_.baz.foo[_.bar.repository(owner="testrepoowner",
                                                  name="testreponame")[_.id]]]
    expected_selection = _.blah[_.baz.foo[_.bar.repository(
        owner="owner", name="repo_name")[_.id]]]
    assert (m.update_in(selection, ["blah", "foo", "repository"],
                        set_org_repo_kwargs) == expected_selection)
 def add_org_repo_to_repository_field(
     selection: m.quiz.Selection, ) -> m.quiz.Selection:
     return m.update_in(
         selection,
         ["repository"],
         functools.partial(m.upsert_kwargs, "repository",
                           dict(owner="owner", name="repo_name")),
     )
def test_update_in_top_level_by_name(_, set_org_repo_kwargs):
    selection = _.repository(owner="testrepoowner", name="testreponame")[_.id]
    assert (m.update_in(selection, ["repository"],
                        set_org_repo_kwargs) == _.repository(
                            owner="owner", name="repo_name")[_.id])
def test_update_in_nested_by_name_then_index(_, set_org_repo_kwargs):
    selection = _.foo[_.bar.repository(owner="testrepoowner",
                                       name="testreponame")[_.id]]
    assert (m.update_in(selection, ["foo", 1],
                        set_org_repo_kwargs) == _.foo[_.repository(
                            owner="owner", name="repo_name")[_.id]])