def test_select_evironment(client):
    response = client.post(
        f"/slack/events",
        json=build_request_view(
            actions_fixture=build_static_select_action_value(
                action_id="selection_environment",
                text=PRODUCTION,
                value=DEFAULT_ENV)))
    assert response.status_code == 200
def test_select_switcher(client):
    response = client.post(
        f"/slack/events",
        json=build_request_view(
            actions_fixture=build_static_select_action_value(
                action_id="selection_switcher",
                text=MY_FEATURE,
                value=MY_FEATURE)))
    assert response.status_code == 200
def test_open_change_request_modal(client):
    response = client.post(
        f"/slack/events", json = build_request_view(
            actions_fixture = build_static_select_action_value(
                action_id = "change_request",
                text = "Request Change"
            )
        )
    )
    assert response.status_code == 200
def test_abort_request(client):
    response = client.post(
        f"/slack/events", json = build_request_view(
            actions_fixture = build_static_select_action_value(
                action_id = "change_request_abort",
                text = "Cancel"
            )
        )
    )
    assert response.status_code == 200
def test_select_group(client):
    response = client.post(
        f"/slack/events", json = build_request_view(
            actions_fixture = build_static_select_action_value(
                action_id = "selection_group",
                text = "Release 1",
                value = "Release 1"
            )
        )
    )
    assert response.status_code == 200
def test_select_evironment(client):
    response = client.post(
        f"/slack/events", json = build_request_view(
            actions_fixture = build_static_select_action_value(
                action_id = "selection_environment",
                text = "Production",
                value = "default"
            )
        )
    )
    assert response.status_code == 200
def test_select_status(client):
    response = client.post(
        f"/slack/events", json = build_request_view(
            actions_fixture = build_static_select_action_value(
                action_id = "selection_status",
                text = "Activate",
                value = "true"
            )
        )
    )
    assert response.status_code == 200
def test_submit_request_fail(client):
    private_metadata = json.dumps({
        "environment": DEFAULT_ENV,
        "environment_alias": PRODUCTION,
        "group": RELEASE_1,
        "switcher": MY_FEATURE1,
        "status": bool(True)
    })

    response = client.post(
        f"/slack/events",
        json=build_request_view(
            private_metadata=private_metadata,
            actions_fixture=build_static_select_action_value(
                action_id="change_request_submit", text="Submit"),
            state_fixture=build_text_state_value(
                action_id="selection_observation", value=OBSERVATION)))
    assert response.status_code == 200
def test_submit_request_fail(client):
    private_metadata = json.dumps({
        "environment": "default",
        "environment_alias": "Production",
        "group": "Release 1",
        "switcher": "MY_FEATURE1",
        "status": bool(True)
    })

    response = client.post(
        f"/slack/events", json = build_request_view(
            private_metadata = private_metadata,
            actions_fixture = build_static_select_action_value(
                action_id = "change_request_submit",
                text = "Submit"
            ),
            state_fixture = build_text_state_value(
                action_id = "selection_observation",
                value = "My observation here"
            )
        )
    )
    assert response.status_code == 200