mirror of
https://dev.azure.com/Foster-X/CMP329%20CW2/_git/CMP329%20CW2
synced 2025-07-27 10:33:32 +00:00
Re-added assertions
This commit is contained in:
parent
b82aa55232
commit
bdd2209f85
1 changed files with 50 additions and 50 deletions
|
@ -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();
|
|
||||||
|
username.sendKeys(usernameText);
|
||||||
|
password.sendKeys(passwordText);
|
||||||
|
login.click();
|
||||||
|
|
||||||
boolean loginSuccess = driver.getCurrentUrl().startsWith(LOGGEDIN_URL);
|
boolean loginSuccess = driver.getCurrentUrl().startsWith(LOGGEDIN_URL);
|
||||||
CsvBuilder.appendTestResult(role, usernameText, "Login", loginSuccess ? "PASS" : "FAIL");
|
CsvBuilder.appendTestResult(role, usernameText, "Login", loginSuccess ? "PASS" : "FAIL");
|
||||||
if (!loginSuccess) {
|
assertTrue(loginSuccess, "Login failed for user: " + usernameText);
|
||||||
driver.quit();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
CsvBuilder.appendTestResult(role, usernameText, "Login", "FAIL - Exception: " + e.getMessage());
|
|
||||||
driver.quit();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// 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);
|
||||||
|
content.sendKeys(POST_CONTENT_TEXT);
|
||||||
|
publishButton.click();
|
||||||
|
|
||||||
|
CsvBuilder.appendTestResult(role, usernameText, "Post Creation", "PASS");
|
||||||
|
|
||||||
|
// Step 4: Verify post is visible
|
||||||
String editURL = driver.getCurrentUrl();
|
String editURL = driver.getCurrentUrl();
|
||||||
driver.get(POST_URL);
|
driver.get(POST_URL);
|
||||||
boolean exists = !driver.getTitle().startsWith("Page not found");
|
String postedTitle = driver.getTitle();
|
||||||
CsvBuilder.appendTestResult(role, usernameText, "Post Visible", exists ? "PASS" : "FAIL");
|
boolean postVisible = !postedTitle.startsWith("Page not found");
|
||||||
|
|
||||||
|
CsvBuilder.appendTestResult(role, usernameText, "Post Visible", postVisible ? "PASS" : "FAIL");
|
||||||
|
assertTrue(postVisible, "Post is not visible after publishing");
|
||||||
|
|
||||||
// Step 5: Delete post
|
// Step 5: Delete post
|
||||||
driver.get(editURL);
|
driver.get(editURL);
|
||||||
driver.findElement(By.id(DELETE_BUTTON_ID)).click();
|
WebElement deleteButton = driver.findElement(By.id(DELETE_BUTTON_ID));
|
||||||
|
deleteButton.click();
|
||||||
driver.get(POST_URL);
|
driver.get(POST_URL);
|
||||||
boolean deleted = driver.getTitle().startsWith("Page not found");
|
postedTitle = driver.getTitle();
|
||||||
CsvBuilder.appendTestResult(role, usernameText, "Post Deleted", deleted ? "PASS" : "FAIL");
|
boolean postDeleted = postedTitle.startsWith("Page not found");
|
||||||
} catch (Exception e) {
|
|
||||||
CsvBuilder.appendTestResult(role, usernameText, "Post Visible or Deletion", "FAIL - " + e.getMessage());
|
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();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue