Skip to content

Commit 18cd65a

Browse files
devGregAclaude
andcommitted
Fix integration test login selector and ship Work Sans fonts
The Tailwind login template uses `button.login-btn` while the classic template uses `button.btn-success`; integration tests now match either. Adds the Work Sans woff2 files (referenced by tailwind-out.css) under dojo/static/dojo/css/files/ and a copy:fonts step in components/package.json so future Tailwind builds keep them in sync. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 32589ce commit 18cd65a

6 files changed

Lines changed: 10 additions & 9 deletions

File tree

components/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@
5050
"tailwindcss": "^4.1"
5151
},
5252
"scripts": {
53-
"build:css": "npx @tailwindcss/cli -i tailwind.css -o ../dojo/static/dojo/css/tailwind-out.css --minify",
54-
"watch:css": "npx @tailwindcss/cli -i tailwind.css -o ../dojo/static/dojo/css/tailwind-out.css --watch"
53+
"copy:fonts": "mkdir -p ../dojo/static/dojo/css/files && cp node_modules/@fontsource-variable/work-sans/files/work-sans-*-wght-normal.woff2 ../dojo/static/dojo/css/files/",
54+
"build:css": "npm run copy:fonts && npx @tailwindcss/cli -i tailwind.css -o ../dojo/static/dojo/css/tailwind-out.css --minify",
55+
"watch:css": "npm run copy:fonts && npx @tailwindcss/cli -i tailwind.css -o ../dojo/static/dojo/css/tailwind-out.css --watch"
5556
},
5657
"engines": {
5758
"yarn": ">= 1.0.0"
34.9 KB
Binary file not shown.
49.1 KB
Binary file not shown.
Binary file not shown.

tests/base_test_class.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ def login_page(self):
129129
driver.find_element(By.ID, "id_password").send_keys(
130130
os.environ["DD_ADMIN_PASSWORD"],
131131
)
132-
driver.find_element(By.CSS_SELECTOR, "button.btn.btn-success").click()
132+
driver.find_element(By.CSS_SELECTOR, "button.login-btn, button.btn-success").click()
133133

134134
self.assertFalse(
135135
self.is_element_by_css_selector_present(
@@ -145,7 +145,7 @@ def login_standard_page(self):
145145
driver.find_element(By.ID, "id_username").send_keys("propersahm")
146146
driver.find_element(By.ID, "id_password").clear()
147147
driver.find_element(By.ID, "id_password").send_keys("Def3ctD0jo&")
148-
driver.find_element(By.CSS_SELECTOR, "button.btn.btn-success").click()
148+
driver.find_element(By.CSS_SELECTOR, "button.login-btn, button.btn-success").click()
149149

150150
self.assertFalse(
151151
self.is_element_by_css_selector_present(

tests/login_test.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def test_login_page_loads(self):
1515
# Verify login form elements are present
1616
self.assertTrue(self.is_element_by_id_present("id_username"))
1717
self.assertTrue(self.is_element_by_id_present("id_password"))
18-
self.assertTrue(self.is_element_by_css_selector_present("button.btn.btn-success"))
18+
self.assertTrue(self.is_element_by_css_selector_present("button.login-btn, button.btn-success"))
1919

2020
@on_exception_html_source_logger
2121
def test_login_valid_credentials(self):
@@ -25,7 +25,7 @@ def test_login_valid_credentials(self):
2525
driver.find_element(By.ID, "id_username").send_keys(os.environ["DD_ADMIN_USER"])
2626
driver.find_element(By.ID, "id_password").clear()
2727
driver.find_element(By.ID, "id_password").send_keys(os.environ["DD_ADMIN_PASSWORD"])
28-
driver.find_element(By.CSS_SELECTOR, "button.btn.btn-success").click()
28+
driver.find_element(By.CSS_SELECTOR, "button.login-btn, button.btn-success").click()
2929
# Should not see error message after successful login
3030
self.assertFalse(
3131
self.is_element_by_css_selector_present(
@@ -41,7 +41,7 @@ def test_login_invalid_password(self):
4141
driver.find_element(By.ID, "id_username").send_keys(os.environ["DD_ADMIN_USER"])
4242
driver.find_element(By.ID, "id_password").clear()
4343
driver.find_element(By.ID, "id_password").send_keys("wrong_password_12345")
44-
driver.find_element(By.CSS_SELECTOR, "button.btn.btn-success").click()
44+
driver.find_element(By.CSS_SELECTOR, "button.login-btn, button.btn-success").click()
4545
# Should see error message
4646
self.assertTrue(
4747
self.is_element_by_css_selector_present(
@@ -57,7 +57,7 @@ def test_login_invalid_username(self):
5757
driver.find_element(By.ID, "id_username").send_keys("nonexistent_user_xyz")
5858
driver.find_element(By.ID, "id_password").clear()
5959
driver.find_element(By.ID, "id_password").send_keys("some_password")
60-
driver.find_element(By.CSS_SELECTOR, "button.btn.btn-success").click()
60+
driver.find_element(By.CSS_SELECTOR, "button.login-btn, button.btn-success").click()
6161
# Should see error message
6262
self.assertTrue(
6363
self.is_element_by_css_selector_present(
@@ -71,7 +71,7 @@ def test_login_empty_credentials(self):
7171
driver.get(self.base_url + "login")
7272
driver.find_element(By.ID, "id_username").clear()
7373
driver.find_element(By.ID, "id_password").clear()
74-
driver.find_element(By.CSS_SELECTOR, "button.btn.btn-success").click()
74+
driver.find_element(By.CSS_SELECTOR, "button.login-btn, button.btn-success").click()
7575
# Should stay on login page - HTML5 form validation prevents submission
7676
self.assertTrue(self.is_element_by_id_present("id_username"))
7777

0 commit comments

Comments
 (0)