chore: Migrate /superset/favstar to API v1 (#23165)

Co-authored-by: hughhhh <hughmil3s@gmail.com>
This commit is contained in:
Diego Medina
2023-03-29 17:42:23 -03:00
committed by GitHub
parent 97b5cdd588
commit f2be53dd53
19 changed files with 548 additions and 45 deletions

View File

@@ -720,6 +720,75 @@ class TestDashboardApi(SupersetTestCase, ApiOwnersTestCaseMixin, InsertChartMixi
if res["id"] in users_favorite_ids:
assert res["value"]
def test_add_favorite(self):
"""
Dataset API: Test add dashboard to favorites
"""
dashboard = Dashboard(
id=100,
dashboard_title="test_dashboard",
slug="test_slug",
slices=[],
published=True,
)
db.session.add(dashboard)
db.session.commit()
self.login(username="admin")
uri = f"api/v1/dashboard/favorite_status/?q={prison.dumps([dashboard.id])}"
rv = self.client.get(uri)
data = json.loads(rv.data.decode("utf-8"))
for res in data["result"]:
assert res["value"] is False
uri = f"api/v1/dashboard/{dashboard.id}/favorites/"
self.client.post(uri)
uri = f"api/v1/dashboard/favorite_status/?q={prison.dumps([dashboard.id])}"
rv = self.client.get(uri)
data = json.loads(rv.data.decode("utf-8"))
for res in data["result"]:
assert res["value"] is True
db.session.delete(dashboard)
db.session.commit()
def test_remove_favorite(self):
"""
Dataset API: Test remove dashboard from favorites
"""
dashboard = Dashboard(
id=100,
dashboard_title="test_dashboard",
slug="test_slug",
slices=[],
published=True,
)
db.session.add(dashboard)
db.session.commit()
self.login(username="admin")
uri = f"api/v1/dashboard/{dashboard.id}/favorites/"
self.client.post(uri)
uri = f"api/v1/dashboard/favorite_status/?q={prison.dumps([dashboard.id])}"
rv = self.client.get(uri)
data = json.loads(rv.data.decode("utf-8"))
for res in data["result"]:
assert res["value"] is True
uri = f"api/v1/dashboard/{dashboard.id}/favorites/"
self.client.delete(uri)
uri = f"api/v1/dashboard/favorite_status/?q={prison.dumps([dashboard.id])}"
rv = self.client.get(uri)
data = json.loads(rv.data.decode("utf-8"))
for res in data["result"]:
assert res["value"] is False
db.session.delete(dashboard)
db.session.commit()
@pytest.mark.usefixtures("create_dashboards")
def test_get_dashboards_not_favorite_filter(self):
"""