Re-added assertions

This commit is contained in:
Xander 2025-04-05 15:32:25 +01:00
parent b82aa55232
commit bdd2209f85

View file

@ -43,79 +43,79 @@ public class TestPoster {
try { try {
// Step 1: Login // Step 1: Login
try { WebElement username = driver.findElement(By.id(USERNAME_BOX_ID));
driver.findElement(By.id(USERNAME_BOX_ID)).sendKeys(usernameText); WebElement password = driver.findElement(By.id(PASSWORD_BOX_ID));
driver.findElement(By.id(PASSWORD_BOX_ID)).sendKeys(passwordText); WebElement login = driver.findElement(By.id(LOGIN_BUTTON_ID));
driver.findElement(By.id(LOGIN_BUTTON_ID)).click();
boolean loginSuccess = driver.getCurrentUrl().startsWith(LOGGEDIN_URL);
CsvBuilder.appendTestResult(role, usernameText, "Login", loginSuccess ? "PASS" : "FAIL");
if (!loginSuccess) {
driver.quit();
return;
}
} catch (Exception e) {
CsvBuilder.appendTestResult(role, usernameText, "Login", "FAIL - Exception: " + e.getMessage());
driver.quit();
return;
}
username.sendKeys(usernameText);
password.sendKeys(passwordText);
login.click();
boolean loginSuccess = driver.getCurrentUrl().startsWith(LOGGEDIN_URL);
CsvBuilder.appendTestResult(role, usernameText, "Login", loginSuccess ? "PASS" : "FAIL");
assertTrue(loginSuccess, "Login failed for user: " + usernameText);
// Determine permission
boolean canPost = role.equals("author"); boolean canPost = role.equals("author");
boolean postAccessible = true; boolean postAccessible = true;
// Step 2: Attempt to access post creation // Step 2: Try accessing new post page
try { try {
WebElement post_button = driver.findElement(By.id(POST_BUTTON_NAV_ID)); WebElement postButton = driver.findElement(By.id(POST_BUTTON_NAV_ID));
post_button.click(); postButton.click();
} catch (NoSuchElementException e) { } catch (NoSuchElementException e) {
postAccessible = false; postAccessible = false;
} }
if (canPost) { if (canPost) {
CsvBuilder.appendTestResult(role, usernameText, "Post Access", postAccessible ? "PASS" : "FAIL"); CsvBuilder.appendTestResult(role, usernameText, "Post Access", postAccessible ? "PASS" : "FAIL");
if (!postAccessible) { assertTrue(postAccessible, "User should be able to access post creation but can't");
driver.quit();
return;
}
// Step 3: Create post // Step 3: Create post
try { WebElement title = driver.findElement(By.id(POST_TITLE_ID));
driver.findElement(By.id(POST_EDITOR_SWITCH_ID)).click(); WebElement content = driver.findElement(By.id(POST_CONTENT_ID));
driver.findElement(By.id(POST_TITLE_ID)).sendKeys(POST_TITLE_TEXT); WebElement textSwitch = driver.findElement(By.id(POST_EDITOR_SWITCH_ID));
driver.findElement(By.id(POST_CONTENT_ID)).sendKeys(POST_CONTENT_TEXT); WebElement publishButton = driver.findElement(By.id(PUBLISH_BUTTON_ID));
driver.findElement(By.id(PUBLISH_BUTTON_ID)).click();
CsvBuilder.appendTestResult(role, usernameText, "Post Creation", "PASS");
} catch (Exception e) {
CsvBuilder.appendTestResult(role, usernameText, "Post Creation", "FAIL - " + e.getMessage());
driver.quit();
return;
}
// Step 4: Verify post textSwitch.click();
try { title.sendKeys(POST_TITLE_TEXT);
String editURL = driver.getCurrentUrl(); content.sendKeys(POST_CONTENT_TEXT);
driver.get(POST_URL); publishButton.click();
boolean exists = !driver.getTitle().startsWith("Page not found");
CsvBuilder.appendTestResult(role, usernameText, "Post Visible", exists ? "PASS" : "FAIL");
// Step 5: Delete post CsvBuilder.appendTestResult(role, usernameText, "Post Creation", "PASS");
driver.get(editURL);
driver.findElement(By.id(DELETE_BUTTON_ID)).click(); // Step 4: Verify post is visible
driver.get(POST_URL); String editURL = driver.getCurrentUrl();
boolean deleted = driver.getTitle().startsWith("Page not found"); driver.get(POST_URL);
CsvBuilder.appendTestResult(role, usernameText, "Post Deleted", deleted ? "PASS" : "FAIL"); String postedTitle = driver.getTitle();
} catch (Exception e) { boolean postVisible = !postedTitle.startsWith("Page not found");
CsvBuilder.appendTestResult(role, usernameText, "Post Visible or Deletion", "FAIL - " + e.getMessage());
} CsvBuilder.appendTestResult(role, usernameText, "Post Visible", postVisible ? "PASS" : "FAIL");
assertTrue(postVisible, "Post is not visible after publishing");
// Step 5: Delete post
driver.get(editURL);
WebElement deleteButton = driver.findElement(By.id(DELETE_BUTTON_ID));
deleteButton.click();
driver.get(POST_URL);
postedTitle = driver.getTitle();
boolean postDeleted = postedTitle.startsWith("Page not found");
CsvBuilder.appendTestResult(role, usernameText, "Post Deleted", postDeleted ? "PASS" : "FAIL");
assertTrue(postDeleted, "Post was not properly deleted");
} else { } else {
CsvBuilder.appendTestResult(role, usernameText, "Post Access", postAccessible ? "FAIL (Should be denied)" : "PASS"); CsvBuilder.appendTestResult(role, usernameText, "Post Access", postAccessible ? "FAIL (Should not access)" : "PASS");
assertFalse(postAccessible, "User without permissions accessed post creation page");
CsvBuilder.appendTestResult(role, usernameText, "Post Creation", "SKIPPED (Not permitted)"); CsvBuilder.appendTestResult(role, usernameText, "Post Creation", "SKIPPED (Not permitted)");
CsvBuilder.appendTestResult(role, usernameText, "Post Visible", "SKIPPED"); CsvBuilder.appendTestResult(role, usernameText, "Post Visible", "SKIPPED");
CsvBuilder.appendTestResult(role, usernameText, "Post Deleted", "SKIPPED"); CsvBuilder.appendTestResult(role, usernameText, "Post Deleted", "SKIPPED");
} }
} catch (Throwable t) { } catch (Throwable t) {
CsvBuilder.appendTestResult(role, usernameText, "Test Error", "FAIL - " + t.getClass().getSimpleName() + ": " + t.getMessage()); CsvBuilder.appendTestResult(role, usernameText, "Unexpected Error", "FAIL - " + t.getMessage());
fail("Unexpected exception: " + t.getMessage());
} finally { } finally {
driver.quit(); driver.quit();
} }