This is an automated email from the ASF dual-hosted git repository.
maximebeauchemin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new aacfe4d667 docs: add a note about accessing the dev env's postgres
database (#31874)
aacfe4d667 is described below
commit aacfe4d6676f252486dba0f795b7a7c59fc9c803
Author: Maxime Beauchemin <[email protected]>
AuthorDate: Wed Jan 15 10:30:26 2025 -0800
docs: add a note about accessing the dev env's postgres database (#31874)
---
docs/docs/contributing/development.mdx | 11 +++++++++++
.../src/features/home/EmptyState.test.tsx | 18 ++++++++++++++----
2 files changed, 25 insertions(+), 4 deletions(-)
diff --git a/docs/docs/contributing/development.mdx
b/docs/docs/contributing/development.mdx
index 56ff001536..fc30301c9a 100644
--- a/docs/docs/contributing/development.mdx
+++ b/docs/docs/contributing/development.mdx
@@ -89,6 +89,17 @@ For more env vars that affect your configuration, see this
[superset_config.py](https://github.com/apache/superset/blob/master/docker/pythonpath_dev/superset_config.py)
used in the `docker compose` context to assign env vars to the superset
configuration.
+### Accessing the postgres database
+Sometimes it's useful to access the database in the docker container directly.
+You can enter a `psql` shell (the official Postgres client) by running the
following command:
+
+```bash
+docker compose exec db psql -U superset
+```
+
+Also note that the database is exposed on port 5432, so you can connect to it
using your favorite
+Postgres client or even SQL Lab itselft directly in Superset by creating a new
database connection
+to `localhost:5432`.
### Nuking the postgres database
diff --git a/superset-frontend/src/features/home/EmptyState.test.tsx
b/superset-frontend/src/features/home/EmptyState.test.tsx
index 7506b3d0f1..fe633bc788 100644
--- a/superset-frontend/src/features/home/EmptyState.test.tsx
+++ b/superset-frontend/src/features/home/EmptyState.test.tsx
@@ -62,11 +62,14 @@ describe('EmptyState', () => {
tableName: WelcomeTable.Recents,
},
];
+
variants.forEach(variant => {
- it(`it renders an ${variant.tab} ${variant.tableName} empty state`, () => {
+ it(`renders an ${variant.tab} ${variant.tableName} empty state`, () => {
const wrapper = mount(<EmptyState {...variant} />);
expect(wrapper).toExist();
- const textContainer = wrapper.find('.ant-empty-description');
+
+ // Select the first description node
+ const textContainer = wrapper.find('.ant-empty-description').at(0);
expect(textContainer.text()).toEqual(
variant.tab === TableTab.Favorite
? "You don't have any favorites yet!"
@@ -79,12 +82,19 @@ describe('EmptyState', () => {
expect(wrapper.find('button')).toHaveLength(1);
});
});
+
recents.forEach(recent => {
- it(`it renders a ${recent.tab} ${recent.tableName} empty state`, () => {
+ it(`renders a ${recent.tab} ${recent.tableName} empty state`, () => {
const wrapper = mount(<EmptyState {...recent} />);
expect(wrapper).toExist();
- const textContainer = wrapper.find('.ant-empty-description');
+
+ // Select the first description node
+ const textContainer = wrapper.find('.ant-empty-description').at(0);
+
+ // Validate the image
expect(wrapper.find('.ant-empty-image').children()).toHaveLength(1);
+
+ // Check the correct text is displayed
expect(textContainer.text()).toContain(
`Recently ${recent.tab?.toLowerCase()} charts, dashboards, and saved
queries will appear here`,
);