use of it.vige.rubia.model.Forum in project rubia-forums by flashboss.
the class OperationForumTest method setUp.
@BeforeClass
public static void setUp() {
driver.get(HOME_URL);
String message = createCategory(driver, new Category("First Test Category"));
assertTrue(message.equals(CREATED_CATEGORY_1_MESSAGE));
message = createCategory(driver, new Category("Second Test Category"));
assertTrue(message.equals(CREATED_CATEGORY_2_MESSAGE));
message = createForum(driver, new Forum("First Test Forum", "First Test Description", new Category("First Test Category")));
assertTrue(message.equals(CREATED_FORUM_0_MESSAGE));
message = createForum(driver, new Forum("Second Test Forum", "Second Test Description", new Category("First Test Category")));
assertTrue(message.equals(CREATED_FORUM_1_MESSAGE));
}
use of it.vige.rubia.model.Forum in project rubia-forums by flashboss.
the class ViewRSSLink 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>();
List<WebElement> entries = driver.findElements(className(ENTRY_LINK));
DateFormat dateFormat = new SimpleDateFormat("d MMM yyyy, HH:mm");
for (WebElement entry : entries) {
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);
}
result.setTopics(new ArrayList<Topic>(topics.values()));
returnToHome(driver);
return result;
}
use of it.vige.rubia.model.Forum in project rubia-forums by flashboss.
the class OperationPostTest method verifyPostFromForumPageLastPost.
@Test
public void verifyPostFromForumPageLastPost() {
Forum forum = new Forum("Second Test Forum", "Second Test Description", new Category("First Test Category"));
goTo(driver, forum);
Topic topic = new Topic(forum, "Third Test Topic");
Poster poster = getPosterLastPost(driver, topic);
goTo(driver, forum);
Post post = getLastPostOfCurrentForum(driver, topic);
assertTrue(post != null);
assertEquals(RE + "Third Test Topic", post.getMessage().getSubject());
assertTrue(poster != null);
assertEquals("root", poster.getUserId());
assertTrue(poster.getPostCount() >= 14);
}
use of it.vige.rubia.model.Forum in project rubia-forums by flashboss.
the class OperationPostTest method verifyPostProfileFromCategoryPage.
@Test
public void verifyPostProfileFromCategoryPage() {
Category category = new Category("First Test Category");
goTo(driver, category);
Forum forum = new Forum("Second Test Forum", "Second Test Description", category);
Poster poster = getPoster(driver, forum);
assertTrue(poster != null);
assertEquals("root", poster.getUserId());
assertTrue(poster.getPostCount() >= 14);
}
use of it.vige.rubia.model.Forum in project rubia-forums by flashboss.
the class ViewAtomLink method getPage.
public static Topic getPage(WebDriver driver, Topic topic) {
VerifyTopic.goTo(driver, topic);
goTo(driver);
Topic result = new Topic();
result.setSubject(driver.findElement(id(FEED_TITLE_TEXT)).getText().split(": ")[1]);
String[] splittedText = driver.findElement(id(FEED_SUBTITLE_TEXT)).getText().split(" in topic | in forum | in category ");
result.setForum(new Forum(splittedText[2]));
result.getForum().setCategory(new Category(splittedText[3]));
List<Post> posts = new ArrayList<Post>();
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();
Post post = new Post(entryText[0]);
post.setPoster(new Poster(entryText[1].split("\n")[0]));
try {
post.setCreateDate(dateFormat.parse(lastUpdated));
} catch (ParseException e) {
}
post.setMessage(new Message(entry.findElement(className(FEED_ENTRY_CONTENT)).getText()));
post.getMessage().setSubject(entryText[0]);
posts.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);
result.setPoll(poll);
}
VerifyTopic.goTo(driver, result);
goTo(driver);
}
result.setPosts(posts);
returnToHome(driver);
return result;
}
Aggregations