def test_when_caller_is_dashboard_owner_and_owner_type_is_dashboard__200(
        self,
        test_users: Dict[str, int],
        dashboard_based_filter_set_dict: Dict[str, Any],
        valid_filter_set_data_for_update: Dict[str, Any],
        client: FlaskClient[Any],
    ):
        # arrange
        login(client, DASHBOARD_OWNER_USERNAME)

        # act
        response = call_update_filter_set(client,
                                          dashboard_based_filter_set_dict,
                                          valid_filter_set_data_for_update)

        # assert
        assert response.status_code == 200
        assert_filterset_updated(dashboard_based_filter_set_dict,
                                 valid_filter_set_data_for_update)
Exemple #2
0
    def test_with_id_field__400(
        self,
        dashboard_based_filter_set_dict: Dict[str, Any],
        valid_filter_set_data_for_update: Dict[str, Any],
        client: FlaskClient[Any],
    ):
        # arrange
        login(client, "admin")
        valid_filter_set_data_for_update["id"] = 1

        # act
        response = call_update_filter_set(client,
                                          dashboard_based_filter_set_dict,
                                          valid_filter_set_data_for_update)

        # assert
        assert response.status_code == 400
        assert response.json["message"]["id"][0] == "Unknown field."
        assert_filterset_was_not_updated(dashboard_based_filter_set_dict)
    def test_without_description__200(
        self,
        dashboard_based_filter_set_dict: Dict[str, Any],
        valid_filter_set_data_for_update: Dict[str, Any],
        client: FlaskClient[Any],
    ):
        # arrange
        login(client, "admin")
        valid_filter_set_data_for_update.pop(DESCRIPTION_FIELD, None)

        # act
        response = call_update_filter_set(client,
                                          dashboard_based_filter_set_dict,
                                          valid_filter_set_data_for_update)

        # assert
        assert response.status_code == 200
        assert_filterset_updated(dashboard_based_filter_set_dict,
                                 valid_filter_set_data_for_update)
Exemple #4
0
    def test_with_dashboard_owner_type__200(
        self,
        user_based_filter_set_dict: Dict[str, Any],
        valid_filter_set_data_for_update: Dict[str, Any],
        client: FlaskClient[Any],
    ):
        # arrange
        login(client, "admin")
        valid_filter_set_data_for_update[OWNER_TYPE_FIELD] = "Dashboard"

        # act
        response = call_update_filter_set(client, user_based_filter_set_dict,
                                          valid_filter_set_data_for_update)

        # assert
        assert response.status_code == 200
        user_based_filter_set_dict["owner_id"] = user_based_filter_set_dict[
            "dashboard_id"]
        assert_filterset_updated(user_based_filter_set_dict,
                                 valid_filter_set_data_for_update)
Exemple #5
0
    def test_with_json_metadata__200(
        self,
        dashboard_based_filter_set_dict: Dict[str, Any],
        valid_filter_set_data_for_update: Dict[str, Any],
        valid_json_metadata: Dict[Any, Any],
        client: FlaskClient[Any],
    ):
        # arrange
        login(client, "admin")
        valid_json_metadata["nativeFilters"] = {"changed": "changed"}
        valid_filter_set_data_for_update[JSON_METADATA_FIELD] = json.dumps(
            valid_json_metadata)

        # act
        response = call_update_filter_set(client,
                                          dashboard_based_filter_set_dict,
                                          valid_filter_set_data_for_update)

        # assert
        assert response.status_code == 200
        assert_filterset_updated(dashboard_based_filter_set_dict,
                                 valid_filter_set_data_for_update)