Search in sources :

Example 26 with Attachment

use of it.vige.rubia.model.Attachment 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;
}
Also used : Category(it.vige.rubia.model.Category) HashMap(java.util.HashMap) Post(it.vige.rubia.model.Post) Attachment(it.vige.rubia.model.Attachment) WebElement(org.openqa.selenium.WebElement) Forum(it.vige.rubia.model.Forum) VerifyForum(it.vige.rubia.selenium.forum.action.VerifyForum) SimpleDateFormat(java.text.SimpleDateFormat) DateFormat(java.text.DateFormat) Poster(it.vige.rubia.model.Poster) Poll(it.vige.rubia.model.Poll) ParseException(java.text.ParseException) VerifyTopic(it.vige.rubia.selenium.forum.action.VerifyTopic) Topic(it.vige.rubia.model.Topic) VerifyPoll.getPollOfCurrentTopic(it.vige.rubia.selenium.forum.action.VerifyPoll.getPollOfCurrentTopic) SimpleDateFormat(java.text.SimpleDateFormat)

Example 27 with Attachment

use of it.vige.rubia.model.Attachment in project rubia-forums by flashboss.

the class OperationAttachmentTest method stop.

@AfterClass
public static void stop() {
    Post post = new Post(new Topic(new Forum("First Test Forum"), "First Test Topic"), "First Test Body", asList(new Attachment("first", "First Test File"), new Attachment("second", "Second Test File"), new Attachment("third", "Third Test File")));
    String message = removeAttachments(driver, post);
    assertTrue(message.equals(OK));
    message = removePost(driver, post);
    assertTrue(message.equals(OK));
    post = new Post(new Topic(new Forum("First Test Forum"), "Second Test Topic"), "Second Test Body", asList(new Attachment("first", "First Test File"), new Attachment("second", "Second Test File"), new Attachment("third", "Third Test File")));
    message = removeAttachments(driver, post);
    assertTrue(message.equals(OK));
    message = removePost(driver, post);
    post = new Post(new Topic(new Forum("Second Test Forum"), "Third Test Topic"), "Third Test Body", asList(new Attachment("first", "First Test File"), new Attachment("second", "Second Test File"), new Attachment("third", "Third Test File")));
    message = removeAttachments(driver, post);
    assertTrue(message.equals(OK));
    message = removePost(driver, post);
    post = new Post(new Topic(new Forum("Second Test Forum"), "Fourth Test Topic"), "Fourth Test Body", asList(new Attachment("fourth", "Fourth Test File"), new Attachment("fifth", "Fifth Test with Truncation over 25 characters File"), new Attachment("sixth", "Sixth Test File")));
    message = removeAttachments(driver, post);
    assertTrue(message.equals(OK));
    message = removePost(driver, post);
    post = new Post(new Topic(new Forum("First Test Forum"), "First Test Topic"), "First Test Post", asList(new Attachment[] { new Attachment("first", "First Test File"), new Attachment("second", "Second Test File"), new Attachment("third", "Third Test File") }));
    message = removeAttachments(driver, post);
    assertTrue(message.equals(OK));
    post.getTopic().setSubject(RE + "First Test Topic");
    message = removePost(driver, post);
    assertTrue(message.equals(OK));
    post = new Post(new Topic(new Forum("First Test Forum"), RE + "First Test Topic"), "Second Test Post", asList(new Attachment[] { new Attachment("first", "First Test File"), new Attachment("second", "Second Test File"), new Attachment("third", "Third Test File") }));
    message = removeAttachments(driver, post);
    assertTrue(message.equals(OK));
    message = removePost(driver, post);
    assertTrue(message.equals(OK));
    post = new Post(new Topic(new Forum("Second Test Forum"), "Fourth Test Topic"), "Third Test Post", asList(new Attachment[] { new Attachment("seventh", "Seventh Test File"), new Attachment("eight", "Eight Test File"), new Attachment("ninth", "Ninth Test File") }));
    message = removeAttachments(driver, post);
    assertTrue(message.equals(OK));
    post.getTopic().setSubject(RE + "Fourth Test Topic");
    message = removePost(driver, post);
    assertTrue(message.equals(OK));
    post = new Post(new Topic(new Forum("Second Test Forum"), RE + "Fourth Test Topic"), "Fourth Test Post", asList(new Attachment[] { new Attachment("ten", "Ten Test File"), new Attachment("eleven", "Eleven Test File"), new Attachment("twelve", "Twelve Test File") }));
    message = removeAttachments(driver, post);
    assertTrue(message.equals(OK));
    message = removePost(driver, post);
    assertTrue(message.equals(OK));
    post = new Post(new Topic(new Forum("Second Test Forum"), RE + "Fourth Test Topic"), "Fifth Test with Truncation over 25 characters Post", asList(new Attachment[] { new Attachment("thirteen", "Thirteen Test File"), new Attachment("fourteen", "Fourteen Test File"), new Attachment("fifteen", "Fifteen Test File") }));
    message = removeAttachments(driver, post);
    assertTrue(message.equals(OK));
    message = removePost(driver, post);
    assertTrue(message.equals(OK));
    post = new Post(new Topic(new Forum("Second Test Forum"), RE + "Fourth Test Topic"), "Sixth Test Post", asList(new Attachment[] { new Attachment("sixteen", "Sixteen Test File"), new Attachment("seventeen", "Seventeen Test File"), new Attachment("eighteen", "Eighteen Test File") }));
    message = removeAttachments(driver, post);
    assertTrue(message.equals(OK));
    message = removePost(driver, post);
    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"), AdminPanelCategoryTest.SELECT_CATEGORY_TYPE);
    assertTrue(message.equals(REMOVED_CATEGORY_0_MESSAGE));
    message = removeCategory(driver, new Category("Second Test Category"), AdminPanelCategoryTest.SELECT_CATEGORY_TYPE);
    assertTrue(message.equals(REMOVED_CATEGORY_1_MESSAGE));
}
Also used : CreateCategory.createCategory(it.vige.rubia.selenium.adminpanel.action.CreateCategory.createCategory) RemoveCategory.removeCategory(it.vige.rubia.selenium.adminpanel.action.RemoveCategory.removeCategory) Category(it.vige.rubia.model.Category) RemovePost.removePost(it.vige.rubia.selenium.forum.action.RemovePost.removePost) VerifyAttachment.getAttachmentsOfCurrentPost(it.vige.rubia.selenium.forum.action.VerifyAttachment.getAttachmentsOfCurrentPost) CreatePost.createPost(it.vige.rubia.selenium.forum.action.CreatePost.createPost) Post(it.vige.rubia.model.Post) Attachment(it.vige.rubia.model.Attachment) CreateTopic.createTopic(it.vige.rubia.selenium.forum.action.CreateTopic.createTopic) Topic(it.vige.rubia.model.Topic) Forum(it.vige.rubia.model.Forum) RemoveForum.removeForum(it.vige.rubia.selenium.adminpanel.action.RemoveForum.removeForum) CreateForum.createForum(it.vige.rubia.selenium.adminpanel.action.CreateForum.createForum) AfterClass(org.junit.AfterClass)

Example 28 with Attachment

use of it.vige.rubia.model.Attachment in project rubia-forums by flashboss.

the class OperationAttachmentTest method verifyRemoveAllAttachments.

@Test
public void verifyRemoveAllAttachments() {
    Post post = new Post(new Topic(new Forum("Second Test Forum"), "Fourth Test Topic"), "Third Test Post", asList(new Attachment("newseventh", "New Seventh Test File"), new Attachment("neweight", "New Eight Test File"), new Attachment("newninth", "New Ninth Test File")));
    goTo(driver, post);
    addAttachments(driver, post);
    removeAllAttachments(driver, post);
    List<Attachment> attachments = getAttachmentsOfCurrentPost(driver, post);
    assertEquals(0, attachments.size());
    post = new Post(new Topic(new Forum("Second Test Forum"), "Fourth Test Topic"), "Third Test Post", asList(new Attachment("seventh", "Seventh Test File"), new Attachment("eight", "Eight Test File"), new Attachment("ninth", "Ninth Test File")));
    goTo(driver, post);
    addAttachmentsAndSave(driver, post);
    attachments = getAttachmentsOfCurrentPost(driver, post);
    assertEquals(3, attachments.size());
}
Also used : RemovePost.removePost(it.vige.rubia.selenium.forum.action.RemovePost.removePost) VerifyAttachment.getAttachmentsOfCurrentPost(it.vige.rubia.selenium.forum.action.VerifyAttachment.getAttachmentsOfCurrentPost) CreatePost.createPost(it.vige.rubia.selenium.forum.action.CreatePost.createPost) Post(it.vige.rubia.model.Post) Attachment(it.vige.rubia.model.Attachment) CreateTopic.createTopic(it.vige.rubia.selenium.forum.action.CreateTopic.createTopic) Topic(it.vige.rubia.model.Topic) Forum(it.vige.rubia.model.Forum) RemoveForum.removeForum(it.vige.rubia.selenium.adminpanel.action.RemoveForum.removeForum) CreateForum.createForum(it.vige.rubia.selenium.adminpanel.action.CreateForum.createForum) AdminPanelCategoryTest(it.vige.rubia.selenium.adminpanel.test.AdminPanelCategoryTest) Test(org.junit.Test)

Example 29 with Attachment

use of it.vige.rubia.model.Attachment in project rubia-forums by flashboss.

the class ModerateTopicTest 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 = createTopic(driver, new Topic(new Forum("First Test Forum"), "First Test Topic", asList(new Post[] { new Post("First Test Body", asList(new Attachment("first", "First Test File"), new Attachment("second", "Second Test File"), new Attachment("third", "Third Test File"))), new Post("Ninteen Test Body"), new Post("Twenty Test Body"), new Post("Twentyone Test Body"), new Post("Twentytwo Test Body"), new Post("Twentythree Test Body"), new Post("Twentyfour Test Body") }), NORMAL, new Poll("First Test Question", asList(new PollOption[] { new PollOption("First Test Answer"), new PollOption("Second Test Answer") }), 4)));
    assertTrue(message.equals("First Test Topic"));
    message = createTopic(driver, new Topic(new Forum("First Test Forum"), "Second Test Topic", asList(new Post[] { new Post("Second Test Body", asList(new Attachment("first", "First Test File"), new Attachment("second", "Second Test File"), new Attachment("third", "Third Test File"))), new Post("Twentyfive Test Body"), new Post("Twentysix Test Body"), new Post("Twentyseven Test Body"), new Post("Twentyeight Test Body"), new Post("Twentynine Test Body"), new Post("Thirty Test Body") }), IMPORTANT, new Poll("Second Test Question", asList(new PollOption[] { new PollOption("Third Test Answer"), new PollOption("Fourth Test Answer") }), 8)));
    assertTrue(message.equals("Second Test Topic"));
    message = createForum(driver, new Forum("Second Test Forum", "Second Test Description", new Category("First Test Category")));
    assertTrue(message.equals(CREATED_FORUM_1_MESSAGE));
    message = createTopic(driver, new Topic(new Forum("Second Test Forum"), "Third Test Topic", asList(new Post[] { new Post("Third Test Body", asList(new Attachment("first", "First Test File"), new Attachment("second", "Second Test File"), new Attachment("third", "Third Test File"))), new Post("Thirtyone Test Body"), new Post("Thirtytwo Test Body"), new Post("Thirtythree Test Body"), new Post("Thirtyfour Test Body"), new Post("Thirtyfive Test Body"), new Post("Thirtysix Test Body") }), ADVICE, new Poll("Third Test Question", asList(new PollOption[] { new PollOption("Fifth Test with Truncation over 25 characters Answer"), new PollOption("Sixth Test Answer") }), 9)));
    assertTrue(message.equals("Third Test Topic"));
    message = createTopic(driver, new Topic(new Forum("Second Test Forum"), "Fourth Test Topic", asList(new Post[] { new Post("Fourth Test Body", asList(new Attachment("fourth", "Fourth Test File"), new Attachment("fifth", "Fifth Test with Truncation over 25 characters File"), new Attachment("sixth", "Sixth Test File"))), new Post("Thirtyseven Test Body"), new Post("Thirtyeight Test Body"), new Post("Thirtynine Test Body"), new Post("Fourty Test Body"), new Post("Fourtyone Test Body"), new Post("Fourtytwo Test Body") }), IMPORTANT, new Poll("Fourth Test Question", asList(new PollOption[] { new PollOption("Seventh Test Answer"), new PollOption("Eight Test Answer") }), 0)));
    assertTrue(message.equals("Fourth Test Topic"));
    message = createForum(driver, new Forum("Third Test Forum", "Third Test Description", new Category("Second Test Category")));
    assertTrue(message.equals(CREATED_FORUM_2_MESSAGE));
    message = createTopic(driver, new Topic(new Forum("Third Test Forum"), "Fifth Test with Truncation over 25 characters Topic", asList(new Post[] { new Post("Fifth Test with Truncation over 25 characters Body", asList(new Attachment("seventh", "Seventh Test File"), new Attachment("eight", "Eight Test File"), new Attachment("ninth", "Ninth Test File"))), new Post("Fourtythree Test Body"), new Post("Fourtyfour Test Body"), new Post("Fourtyfive Test Body"), new Post("Fourtysix Test Body"), new Post("Fourtyseven Test Body"), new Post("Fourtyeight Test Body") }), IMPORTANT, new Poll("Third Test Question", asList(new PollOption[] { new PollOption("Seventh Test Answer"), new PollOption("Eight Test Answer") }), 8)));
    assertTrue(message.equals("Fifth Test with Truncation over 25 characters Topic"));
    message = createTopic(driver, new Topic(new Forum("Third Test Forum"), "Sixth Test Topic", asList(new Post[] { new Post("Sixth Test Body", asList(new Attachment("ten", "Ten Test File"), new Attachment("eleven", "Eleven Test File"), new Attachment("twelve", "Twelve Test File"))), new Post("Fourtynine Test Body"), new Post("Fifty Test Body"), new Post("Fiftyone Test Body"), new Post("Fiftytwo Test Body"), new Post("Fiftythree Test Body"), new Post("Fiftyfour Test Body") }), IMPORTANT, new Poll("Fourth Test Question", asList(new PollOption[] { new PollOption("Ninth Test Answer"), new PollOption("Ten Test Answer") }), 8)));
    assertTrue(message.equals("Sixth Test Topic"));
}
Also used : CreateCategory.createCategory(it.vige.rubia.selenium.adminpanel.action.CreateCategory.createCategory) RemoveCategory.removeCategory(it.vige.rubia.selenium.adminpanel.action.RemoveCategory.removeCategory) Category(it.vige.rubia.model.Category) CreatePost.createPost(it.vige.rubia.selenium.forum.action.CreatePost.createPost) Post(it.vige.rubia.model.Post) Poll(it.vige.rubia.model.Poll) Attachment(it.vige.rubia.model.Attachment) PollOption(it.vige.rubia.model.PollOption) MoveTopic.moveTopic(it.vige.rubia.selenium.moderate.action.MoveTopic.moveTopic) RemoveTopic.removeTopic(it.vige.rubia.selenium.moderate.action.RemoveTopic.removeTopic) CreateTopic.createTopic(it.vige.rubia.selenium.forum.action.CreateTopic.createTopic) Topic(it.vige.rubia.model.Topic) LockTopic.lockTopic(it.vige.rubia.selenium.moderate.action.LockTopic.lockTopic) Forum(it.vige.rubia.model.Forum) RemoveForum.removeForum(it.vige.rubia.selenium.adminpanel.action.RemoveForum.removeForum) CreateForum.createForum(it.vige.rubia.selenium.adminpanel.action.CreateForum.createForum) BeforeClass(org.junit.BeforeClass)

Example 30 with Attachment

use of it.vige.rubia.model.Attachment in project rubia-forums by flashboss.

the class ModerateTopicTest method moveFromSelectedDown.

@Test
public void moveFromSelectedDown() {
    Topic topic = new Topic(new Forum("Third Test Forum"), "Sixth Test Topic");
    goToSplitPanel(driver, topic);
    String message = moveTopicFromSelectedDown(driver, topic, null);
    assertEquals(ERR_NO_POST_SELECTED, message);
    topic.setPosts(asList(new Post[] { new Post("Fifty Test Body"), new Post("Fiftyone Test Body"), new Post("Fiftytwo Test Body") }));
    message = moveTopicSelectedDown(driver, topic, null);
    assertEquals(ERR_DEST_FORUM, message);
    Forum forum = new Forum("First Test Forum");
    message = moveTopicSelectedDown(driver, null, forum);
    assertEquals(ERR_NO_SUBJECT_GIVEN, message);
    forum.setTopics(asList(new Topic[] { new Topic("New Test Topic") }));
    message = moveTopicSelectedDown(driver, null, forum);
    assertEquals(SUCC_TOPIC_SPLITTED, message);
    forum.setName("Third Test Forum");
    forum.setTopics(asList(new Topic[] { new Topic("Sixth Test Topic") }));
    topic.setForum(new Forum("First Test Forum"));
    topic.setSubject("New Test Topic");
    goToSplitPanel(driver, topic);
    message = moveTopicSelectedDown(driver, topic, forum);
    assertEquals(ERR_SPLIT_ALL, message);
    message = removeTopic(driver, CONFIRM, topic);
    assertTrue(message.equals(SUCC_TOPIC_REMOVED));
    topic.setForum(new Forum("Third Test Forum"));
    topic.setSubject("Sixth Test Topic");
    message = removeTopic(driver, CONFIRM, topic);
    assertTrue(message.equals(SUCC_TOPIC_REMOVED));
    message = createTopic(driver, new Topic(new Forum("Third Test Forum"), "Sixth Test Topic", asList(new Post[] { new Post("Sixth Test Body", asList(new Attachment("ten", "Ten Test File"), new Attachment("eleven", "Eleven Test File"), new Attachment("twelve", "Twelve Test File"))), new Post("Fourtynine Test Body"), new Post("Fifty Test Body"), new Post("Fiftyone Test Body"), new Post("Fiftytwo Test Body"), new Post("Fiftythree Test Body"), new Post("Fiftyfour Test Body") }), IMPORTANT, new Poll("Fourth Test Question", asList(new PollOption[] { new PollOption("Ninth Test Answer"), new PollOption("Ten Test Answer") }), 8)));
    assertTrue(message.equals("Sixth Test Topic"));
}
Also used : CreatePost.createPost(it.vige.rubia.selenium.forum.action.CreatePost.createPost) Post(it.vige.rubia.model.Post) Poll(it.vige.rubia.model.Poll) Attachment(it.vige.rubia.model.Attachment) PollOption(it.vige.rubia.model.PollOption) MoveTopic.moveTopic(it.vige.rubia.selenium.moderate.action.MoveTopic.moveTopic) RemoveTopic.removeTopic(it.vige.rubia.selenium.moderate.action.RemoveTopic.removeTopic) CreateTopic.createTopic(it.vige.rubia.selenium.forum.action.CreateTopic.createTopic) Topic(it.vige.rubia.model.Topic) LockTopic.lockTopic(it.vige.rubia.selenium.moderate.action.LockTopic.lockTopic) Forum(it.vige.rubia.model.Forum) RemoveForum.removeForum(it.vige.rubia.selenium.adminpanel.action.RemoveForum.removeForum) CreateForum.createForum(it.vige.rubia.selenium.adminpanel.action.CreateForum.createForum) Test(org.junit.Test)

Aggregations

Attachment (it.vige.rubia.model.Attachment)34 Post (it.vige.rubia.model.Post)25 Topic (it.vige.rubia.model.Topic)23 Forum (it.vige.rubia.model.Forum)21 CreateTopic.createTopic (it.vige.rubia.selenium.forum.action.CreateTopic.createTopic)20 Poll (it.vige.rubia.model.Poll)19 CreateForum.createForum (it.vige.rubia.selenium.adminpanel.action.CreateForum.createForum)19 PollOption (it.vige.rubia.model.PollOption)18 RemoveForum.removeForum (it.vige.rubia.selenium.adminpanel.action.RemoveForum.removeForum)18 Category (it.vige.rubia.model.Category)15 CreateCategory.createCategory (it.vige.rubia.selenium.adminpanel.action.CreateCategory.createCategory)13 RemoveCategory.removeCategory (it.vige.rubia.selenium.adminpanel.action.RemoveCategory.removeCategory)13 BeforeClass (org.junit.BeforeClass)11 RemoveTopic.removeTopic (it.vige.rubia.selenium.forum.action.RemoveTopic.removeTopic)10 CreatePost.createPost (it.vige.rubia.selenium.forum.action.CreatePost.createPost)9 Test (org.junit.Test)7 WebElement (org.openqa.selenium.WebElement)7 LockTopic.lockTopic (it.vige.rubia.selenium.moderate.action.LockTopic.lockTopic)5 MoveTopic.moveTopic (it.vige.rubia.selenium.moderate.action.MoveTopic.moveTopic)5 RemoveTopic.removeTopic (it.vige.rubia.selenium.moderate.action.RemoveTopic.removeTopic)5