def METHOD_NAME(
    conference_factory,
    day_factory,
    slot_factory,
    room,
    admin_graphql_client,
    schedule_item_factory,
):
    conference = conference_factory(
        start=datetime(2020, 4, 2, tzinfo=pytz.UTC),
        end=datetime(2020, 4, 2, tzinfo=pytz.UTC),
    )
    day = day_factory(conference=conference, day=date(2020, 4, 2))
    slot = slot_factory(day=day, hour=time(8, 45), duration=60)
    slot_2 = slot_factory(day=day, hour=time(8, 45), duration=60)
    item = schedule_item_factory(slot=slot, submission=None, type="submission")
    resp = admin_graphql_client.query(
        """
        mutation($input: UpdateOrCreateSlotItemInput!) {
            updateOrCreateSlotItem(input: $input) {
                ... on UpdateOrCreateSlotItemResult {
                    updatedSlots {
                        id
                        items {
                            id
                            type
                            title
                        }
                    }
                }
            }
        }
        """,
        variables={
            "input": {"slotId": slot_2.id, "itemId": item.id, "rooms": [room.id]}
        },
    )
    assert "errors" not in resp
    updated_slots = resp["data"]["updateOrCreateSlotItem"]["updatedSlots"]
    assert updated_slots[0]["id"] == str(slot.id)
    assert updated_slots[1]["id"] == str(slot_2.id)
    assert updated_slots[1]["items"] == [
        {"id": str(item.id), "title": item.title, "type": item.type}
    ]