use of it.vige.rubia.model.Topic in project rubia-forums by flashboss.
the class OperationPostTest method stop.
@AfterClass
public static void stop() {
String message = removePost(driver, new Post(new Topic(new Forum("First Test Forum"), "First Test Topic"), "First Test Post"));
assertTrue(message.equals(OK));
message = removePost(driver, new Post(new Topic(new Forum("First Test Forum"), "First Test Topic"), "Second Test Post"));
assertTrue(message.equals(OK));
message = removePost(driver, new Post(new Topic(new Forum("First Test Forum"), "First Test Topic"), "Third Test Post"));
assertTrue(message.equals(OK));
message = removePost(driver, new Post(new Topic(new Forum("First Test Forum"), "First Test Topic"), "Fourth Test Post"));
assertTrue(message.equals(OK));
message = removePost(driver, new Post(new Topic(new Forum("First Test Forum"), "Second Test Topic"), "Fifth Test with Truncation over 25 characters Post"));
assertTrue(message.equals(OK));
message = removePost(driver, new Post(new Topic(new Forum("First Test Forum"), "Second Test Topic"), "Sixth Test Post"));
assertTrue(message.equals(OK));
message = removePost(driver, new Post(new Topic(new Forum("First Test Forum"), "Second Test Topic"), "Seventh Test Post"));
assertTrue(message.equals(OK));
message = removePost(driver, new Post(new Topic(new Forum("Second Test Forum"), "Third Test Topic"), "Eight Test Post"));
assertTrue(message.equals(OK));
message = removePost(driver, new Post(new Topic(new Forum("Second Test Forum"), "Third Test Topic"), "Ninth Test Post"));
assertTrue(message.equals(OK));
message = removePost(driver, new Post(new Topic(new Forum("Second Test Forum"), "Fourth Test Topic"), "Ten Test Post"));
assertTrue(message.equals(OK));
message = removeTopic(driver, new Topic(new Forum("First Test Forum"), "First Test Topic", asList(new Post[] { new Post("First Test Body") })));
assertTrue(message.equals(OK));
message = removeTopic(driver, new Topic(new Forum("First Test Forum"), "Second Test Topic", asList(new Post[] { new Post("Second Test Body") })));
assertTrue(message.equals(OK));
message = removeTopic(driver, new Topic(new Forum("Second Test Forum"), "Third Test Topic", asList(new Post[] { new Post("Third Test Body") })));
assertTrue(message.equals(OK));
message = removeTopic(driver, new Topic(new Forum("Second Test Forum"), "Fourth Test Topic", asList(new Post[] { new Post("Fourth Test Body") })));
assertTrue(message.equals(OK));
message = removeForum(driver, new Forum("First Test Forum"), "Second Test Forum");
assertTrue(message.equals(REMOVED_FORUM_0_MESSAGE));
message = removeForum(driver, new Forum("Second Test Forum"), SELECT_FORUM_TYPE);
assertTrue(message.equals(REMOVED_FORUM_1_MESSAGE));
message = removeCategory(driver, new Category("First Test Category"), SELECT_CATEGORY_TYPE);
assertTrue(message.equals(REMOVED_CATEGORY_0_MESSAGE));
message = removeCategory(driver, new Category("Second Test Category"), SELECT_CATEGORY_TYPE);
assertTrue(message.equals(REMOVED_CATEGORY_1_MESSAGE));
}
use of it.vige.rubia.model.Topic in project rubia-forums by flashboss.
the class OperationPostTest method verifyCreatedPosts.
@Test
public void verifyCreatedPosts() {
List<Post> posts = getPostsOfTopics(driver, new Topic("First Test Topic"), new Topic("Second Test Topic"), new Topic("Third Test Topic"), new Topic("Fourth Test Topic"));
assertEquals(14, posts.size());
Date today = new Date();
Post secondTestPost = posts.get(0);
Date createdDate1 = secondTestPost.getCreateDate();
assertFalse(createdDate1.after(today));
assertEquals(0, secondTestPost.getEditCount());
assertNull(secondTestPost.getEditDate());
assertEquals("Second Test Topic", secondTestPost.getMessage().getSubject());
assertEquals("Second Test Body", secondTestPost.getMessage().getText());
assertEquals("root", secondTestPost.getPoster().getUserId());
assertEquals("Second Test Topic", secondTestPost.getTopic().getSubject());
assertEquals("First Test Forum", secondTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", secondTestPost.getTopic().getForum().getCategory().getTitle());
Post nextFifthTestPost = posts.get(1);
Date createdNextFifthTestPostDate = nextFifthTestPost.getCreateDate();
assertFalse(createdNextFifthTestPostDate.after(today));
assertFalse(createdDate1.after(createdNextFifthTestPostDate));
assertEquals(0, nextFifthTestPost.getEditCount());
assertNull(nextFifthTestPost.getEditDate());
assertEquals(RE + "Second Test Topic", nextFifthTestPost.getMessage().getSubject());
assertEquals("Fifth Test with Truncation over 25 characters Post", nextFifthTestPost.getMessage().getText());
assertEquals("root", nextFifthTestPost.getPoster().getUserId());
assertEquals("Second Test Topic", nextFifthTestPost.getTopic().getSubject());
assertEquals("First Test Forum", nextFifthTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", nextFifthTestPost.getTopic().getForum().getCategory().getTitle());
Post nextSixthTestPost = posts.get(2);
Date createdNextSixthTestPostDate = nextSixthTestPost.getCreateDate();
assertFalse(createdNextSixthTestPostDate.after(today));
assertFalse(createdNextFifthTestPostDate.after(createdNextSixthTestPostDate));
assertEquals(0, nextSixthTestPost.getEditCount());
assertNull(nextSixthTestPost.getEditDate());
assertEquals(RE + "Second Test Topic", nextSixthTestPost.getMessage().getSubject());
assertEquals("Sixth Test Post", nextSixthTestPost.getMessage().getText());
assertEquals("root", nextSixthTestPost.getPoster().getUserId());
assertEquals("Second Test Topic", nextSixthTestPost.getTopic().getSubject());
assertEquals("First Test Forum", nextSixthTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", nextSixthTestPost.getTopic().getForum().getCategory().getTitle());
Post nextSeventhTestPost = posts.get(3);
Date createdNextSeventhTestPostDate = nextSeventhTestPost.getCreateDate();
assertFalse(createdNextSeventhTestPostDate.after(today));
assertFalse(createdNextSixthTestPostDate.after(createdNextSeventhTestPostDate));
assertEquals(0, nextSeventhTestPost.getEditCount());
assertNull(nextSeventhTestPost.getEditDate());
assertEquals(RE + "Second Test Topic", nextSeventhTestPost.getMessage().getSubject());
assertEquals("Seventh Test Post", nextSeventhTestPost.getMessage().getText());
assertEquals("root", nextSeventhTestPost.getPoster().getUserId());
assertEquals("Second Test Topic", nextSeventhTestPost.getTopic().getSubject());
assertEquals("First Test Forum", nextSeventhTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", nextSeventhTestPost.getTopic().getForum().getCategory().getTitle());
Post firstTestPost = posts.get(4);
Date createdDate2 = firstTestPost.getCreateDate();
assertFalse(createdDate2.after(today));
assertFalse(createdDate1.before(createdDate2));
assertEquals(0, firstTestPost.getEditCount());
assertNull(firstTestPost.getEditDate());
assertEquals("First Test Topic", firstTestPost.getMessage().getSubject());
assertEquals("First Test Body", firstTestPost.getMessage().getText());
assertEquals("root", firstTestPost.getPoster().getUserId());
assertEquals("First Test Topic", firstTestPost.getTopic().getSubject());
assertEquals("First Test Forum", firstTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", firstTestPost.getTopic().getForum().getCategory().getTitle());
Post nextFirstTestPost = posts.get(5);
Date createdNextFirstTestPostDate = nextFirstTestPost.getCreateDate();
assertFalse(createdNextFirstTestPostDate.after(today));
assertFalse(createdDate2.after(createdNextFirstTestPostDate));
assertEquals(0, nextFirstTestPost.getEditCount());
assertNull(nextFirstTestPost.getEditDate());
assertEquals(RE + "First Test Topic", nextFirstTestPost.getMessage().getSubject());
assertEquals("First Test Post", nextFirstTestPost.getMessage().getText());
assertEquals("root", nextFirstTestPost.getPoster().getUserId());
assertEquals("First Test Topic", nextFirstTestPost.getTopic().getSubject());
assertEquals("First Test Forum", nextFirstTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", nextFirstTestPost.getTopic().getForum().getCategory().getTitle());
Post nextSecondTestPost = posts.get(6);
Date createdNextSecondTestPostDate = nextSecondTestPost.getCreateDate();
assertFalse(createdNextSecondTestPostDate.after(today));
assertFalse(createdNextFirstTestPostDate.after(createdNextSecondTestPostDate));
assertEquals(0, nextSecondTestPost.getEditCount());
assertNull(nextSecondTestPost.getEditDate());
assertEquals(RE + "First Test Topic", nextSecondTestPost.getMessage().getSubject());
assertEquals("Second Test Post", nextSecondTestPost.getMessage().getText());
assertEquals("root", nextSecondTestPost.getPoster().getUserId());
assertEquals("First Test Topic", nextSecondTestPost.getTopic().getSubject());
assertEquals("First Test Forum", nextSecondTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", nextSecondTestPost.getTopic().getForum().getCategory().getTitle());
Post nextThirdTestPost = posts.get(7);
Date createdNextThirdTestPostDate = nextThirdTestPost.getCreateDate();
assertFalse(createdNextThirdTestPostDate.after(today));
assertFalse(createdNextSecondTestPostDate.after(createdNextThirdTestPostDate));
assertEquals(0, nextThirdTestPost.getEditCount());
assertNull(nextThirdTestPost.getEditDate());
assertEquals(RE + "First Test Topic", nextThirdTestPost.getMessage().getSubject());
assertEquals("Third Test Post", nextThirdTestPost.getMessage().getText());
assertEquals("root", nextThirdTestPost.getPoster().getUserId());
assertEquals("First Test Topic", nextThirdTestPost.getTopic().getSubject());
assertEquals("First Test Forum", nextThirdTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", nextThirdTestPost.getTopic().getForum().getCategory().getTitle());
Post nextFourthTestPost = posts.get(8);
Date createdNextFourthTestPostDate = nextFourthTestPost.getCreateDate();
assertFalse(createdNextFourthTestPostDate.after(today));
assertFalse(createdNextThirdTestPostDate.after(createdNextFourthTestPostDate));
assertEquals(0, nextFourthTestPost.getEditCount());
assertNull(nextFourthTestPost.getEditDate());
assertEquals(RE + "First Test Topic", nextFourthTestPost.getMessage().getSubject());
assertEquals("Fourth Test Post", nextFourthTestPost.getMessage().getText());
assertEquals("root", nextFourthTestPost.getPoster().getUserId());
assertEquals("First Test Topic", nextFourthTestPost.getTopic().getSubject());
assertEquals("First Test Forum", nextFourthTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", nextFourthTestPost.getTopic().getForum().getCategory().getTitle());
Post thirdTestPost = posts.get(9);
Date createdDate3 = thirdTestPost.getCreateDate();
assertFalse(createdDate3.after(today));
assertFalse(createdDate2.after(createdDate3));
assertEquals(0, thirdTestPost.getEditCount());
assertNull(thirdTestPost.getEditDate());
assertEquals("Third Test Topic", thirdTestPost.getMessage().getSubject());
assertEquals("Third Test Body", thirdTestPost.getMessage().getText());
assertEquals("root", thirdTestPost.getPoster().getUserId());
assertEquals("Third Test Topic", thirdTestPost.getTopic().getSubject());
assertEquals("Second Test Forum", thirdTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", thirdTestPost.getTopic().getForum().getCategory().getTitle());
Post nextEightTestPost = posts.get(10);
Date createdNextEightTestPostDate = nextEightTestPost.getCreateDate();
assertFalse(createdNextEightTestPostDate.after(today));
assertFalse(createdDate3.after(createdNextEightTestPostDate));
assertEquals(0, nextEightTestPost.getEditCount());
assertNull(nextEightTestPost.getEditDate());
assertEquals(RE + "Third Test Topic", nextEightTestPost.getMessage().getSubject());
assertEquals("Eight Test Post", nextEightTestPost.getMessage().getText());
assertEquals("root", nextEightTestPost.getPoster().getUserId());
assertEquals("Third Test Topic", nextEightTestPost.getTopic().getSubject());
assertEquals("Second Test Forum", nextEightTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", nextEightTestPost.getTopic().getForum().getCategory().getTitle());
Post nextNinthTestPost = posts.get(11);
Date createdNextNinthTestPostDate = nextNinthTestPost.getCreateDate();
assertFalse(createdNextNinthTestPostDate.after(today));
assertFalse(createdNextEightTestPostDate.after(createdNextNinthTestPostDate));
assertEquals(0, nextNinthTestPost.getEditCount());
assertNull(nextNinthTestPost.getEditDate());
assertEquals(RE + "Third Test Topic", nextNinthTestPost.getMessage().getSubject());
assertEquals("Ninth Test Post", nextNinthTestPost.getMessage().getText());
assertEquals("root", nextNinthTestPost.getPoster().getUserId());
assertEquals("Third Test Topic", nextNinthTestPost.getTopic().getSubject());
assertEquals("Second Test Forum", nextNinthTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", nextNinthTestPost.getTopic().getForum().getCategory().getTitle());
Post fourthTestPost = posts.get(12);
Date createdDate4 = fourthTestPost.getCreateDate();
assertFalse(createdDate4.after(today));
assertFalse(createdDate3.after(createdDate4));
assertEquals(0, fourthTestPost.getEditCount());
assertNull(fourthTestPost.getEditDate());
assertEquals("Fourth Test Topic", fourthTestPost.getMessage().getSubject());
assertEquals("Fourth Test Body", fourthTestPost.getMessage().getText());
assertEquals("root", fourthTestPost.getPoster().getUserId());
assertEquals("Fourth Test Topic", fourthTestPost.getTopic().getSubject());
assertEquals("Second Test Forum", fourthTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", fourthTestPost.getTopic().getForum().getCategory().getTitle());
Post nextTenTestPost = posts.get(13);
Date createdNextTenTestPostDate = nextTenTestPost.getCreateDate();
assertFalse(createdNextTenTestPostDate.after(today));
assertFalse(createdDate4.after(createdNextTenTestPostDate));
assertEquals(0, nextTenTestPost.getEditCount());
assertNull(nextTenTestPost.getEditDate());
assertEquals(RE + "Fourth Test Topic", nextTenTestPost.getMessage().getSubject());
assertEquals("Ten Test Post", nextTenTestPost.getMessage().getText());
assertEquals("root", nextTenTestPost.getPoster().getUserId());
assertEquals("Fourth Test Topic", nextTenTestPost.getTopic().getSubject());
assertEquals("Second Test Forum", nextTenTestPost.getTopic().getForum().getName());
assertEquals("First Test Category", nextTenTestPost.getTopic().getForum().getCategory().getTitle());
}
use of it.vige.rubia.model.Topic in project rubia-forums by flashboss.
the class ViewAtomLink method getPage.
public static Forum getPage(WebDriver driver, Forum forum) {
VerifyForum.goTo(driver, forum);
goTo(driver);
Forum result = new Forum();
result.setName(driver.findElement(id(FEED_TITLE_TEXT)).getText().split(": ")[1]);
result.setCategory(new Category(driver.findElement(id(FEED_SUBTITLE_TEXT)).getText().split(" in category ")[1]));
Map<String, Topic> topics = new HashMap<String, Topic>();
int entriesSize = driver.findElements(className(ENTRY_LINK)).size();
DateFormat dateFormat = new SimpleDateFormat("d MMM yyyy, HH:mm");
for (int i = 0; i < entriesSize; i++) {
WebElement entry = driver.findElements(className(ENTRY_LINK)).get(i);
String[] entryText = entry.getText().split(BY);
String lastUpdated = entry.findElement(className(LAST_UPDATED)).getText();
String topicTitle = entryText[0].replace(RE, "");
Topic topic = topics.get(topicTitle);
if (topic == null) {
topic = new Topic(topicTitle);
topics.put(topicTitle, topic);
}
Post post = new Post(entry.findElement(className(FEED_ENTRY_CONTENT)).getText());
post.setPoster(new Poster(entryText[1].split("\n")[0]));
try {
post.setCreateDate(dateFormat.parse(lastUpdated));
} catch (ParseException e) {
}
post.getMessage().setSubject(entryText[0]);
topic.getPosts().add(post);
WebElement entryLink = driver.findElement(linkText(entry.getText().split("\n")[0]));
entryLink.click();
List<Attachment> attachments = getAttachmentsOfCurrentPostInPage(driver, post);
post.setAttachments(attachments);
if (topic.getPoll() == null) {
Poll poll = getPollOfCurrentTopic(driver);
topic.setPoll(poll);
}
VerifyForum.goTo(driver, forum);
goTo(driver);
}
result.setTopics(new ArrayList<Topic>(topics.values()));
returnToHome(driver);
return result;
}
use of it.vige.rubia.model.Topic in project rubia-forums by flashboss.
the class VerifyTopic method getTopic.
public static Topic getTopic(WebDriver driver, int i4, WebElement topicTable) {
Topic topic = new Topic();
List<WebElement> subjectComponents = topicTable.findElements(xpath(SUBJECT_LINK));
WebElement subjectComponent = subjectComponents.get(i4);
String subjectText = subjectComponent.getText();
topic.setSubject(subjectText);
List<WebElement> subjectTypeComponents = topicTable.findElements(xpath(TYPE_SUBJECT_OUTPUT_TEXT));
if (subjectTypeComponents.size() == 0)
topic.setType(NORMAL);
else if (subjectTypeComponents.get(i4).getText().trim().equals(TOPIC_STICKY))
topic.setType(IMPORTANT);
else
topic.setType(ADVICE);
String[] allRows = topicTable.findElements(xpath(USER_LINK)).get(i4).findElement(xpath("..")).getText().split(bundle.getString("By"));
String user = allRows[allRows.length - 1].trim();
int replies = new Integer(topicTable.findElements(xpath(REPLIED_OUTPUT_TEXT)).get(i4).getText());
int viewCount = new Integer(topicTable.findElements(xpath(VIEW_OUTPUT_TEXT)).get(i4).getText());
Date lastPostDate = null;
try {
lastPostDate = dateFormat.parse(topicTable.findElements(xpath(LAST_POST_DATE_OUTPUT_TEXT)).get(i4).getText().split("\n")[2]);
} catch (ParseException e) {
log.error(e);
}
topic.setReplies(replies);
topic.setViewCount(viewCount);
topic.setLastPostDate(lastPostDate);
Poster poster = new Poster();
poster.setUserId(user);
topic.setPoster(poster);
subjectComponent.click();
topic.setPoll(getPollOfCurrentTopic(driver));
topic.setPosts(getPostsOfCurrentTopic(driver));
addParents(driver, topic);
return topic;
}
use of it.vige.rubia.model.Topic in project rubia-forums by flashboss.
the class VerifyTopic method getTopicsOfForums.
public static List<Topic> getTopicsOfForums(WebDriver driver, Forum... forums) {
List<Topic> topics = new ArrayList<Topic>();
for (Forum forum : forums) {
VerifyForum.goTo(driver, forum);
List<WebElement> tableComponents = driver.findElements(className(TOPIC_TABLE));
int tableComponentsSize = tableComponents.size();
for (int i = 0; i < tableComponentsSize; i++) {
List<WebElement> subjectComponents = driver.findElements(className(TOPIC_TABLE)).get(i).findElements(xpath(SUBJECT_LINK));
int subjectComponentsSize = subjectComponents.size();
for (int i4 = 0; i4 < subjectComponentsSize; i4++) {
WebElement topicTable = driver.findElements(className(TOPIC_TABLE)).get(i);
Topic topic = getTopic(driver, i4, topicTable);
topics.add(topic);
driver.findElement(linkText(forum.getName())).click();
}
}
}
return topics;
}
Aggregations