From 6de944036ce7af29463088e45911010d0a6e25ee Mon Sep 17 00:00:00 2001 From: BryceLTaylor Date: Wed, 20 Oct 2021 10:09:32 -0400 Subject: [PATCH] Reconfigure comment integration tests to not sign out as much --- test/integration/comments.test.js | 182 ++++++++++++------------------ 1 file changed, 70 insertions(+), 112 deletions(-) diff --git a/test/integration/comments.test.js b/test/integration/comments.test.js index a184024f4..f31809ab1 100644 --- a/test/integration/comments.test.js +++ b/test/integration/comments.test.js @@ -49,126 +49,84 @@ let driver; describe('comment tests', async () => { beforeAll(async () => { driver = await buildDriver('www-integration project comments'); - driver.get(rootUrl); - }); - - afterEach(async () => { - await clickXpath('//a[contains(@class, "user-info")]'); - await clickText('Sign out'); + await driver.get(rootUrl); }); afterAll(async () => await driver.quit()); - test('leave comment on project', async () => { - await signIn(username1, password, driver); - await findByXpath('//span[contains(@class, "profile-name")]'); - await driver.get(projectUrl); + describe('leave comments', async () => { + beforeAll(async () => { + await signIn(username1, password, driver); + await findByXpath('//span[contains(@class, "profile-name")]'); + }); - // leave the comment - let commentBox = await findByXpath('//textArea[@name="compose-comment"]'); - await commentBox.sendKeys(projectComment); - await findByXpath(`//textarea[contains(text(), "${projectComment}")]`); - await clickXpath('//button[@class="button compose-post"]'); + afterAll(async () => { + await driver.get(rootUrl); + await clickXpath('//a[contains(@class, "user-info")]'); + await clickText('Sign out'); + }); - // reload the page - await driver.sleep(5000); - await driver.get(projectUrl); + test('leave comment on project', async () => { + await driver.get(projectUrl); - // find the comment - let commentXpath = await `//div[@class="comment-bubble"]/span/span[contains(text(), "${buildNumber}")]`; - let postedComment = await findByXpath(commentXpath); - let commentVisible = await postedComment.isDisplayed(); - await expect(commentVisible).toBe(true); + // leave the comment + let commentBox = await findByXpath('//textArea[@name="compose-comment"]'); + await commentBox.sendKeys(projectComment); + await findByXpath(`//textarea[contains(text(), "${projectComment}")]`); + await clickXpath('//button[@class="button compose-post"]'); + + // reload the page + await driver.sleep(5000); + await driver.get(projectUrl); + + // find the comment + let commentXpath = await `//div[@class="comment-bubble"]/span/span[contains(text(), "${buildNumber}")]`; + let postedComment = await findByXpath(commentXpath); + let commentVisible = await postedComment.isDisplayed(); + await expect(commentVisible).toBe(true); + }); + + test('leave comment on a profile', async () => { + await driver.get(profileUrl); + + // leave the comment + let commentXpath = await '//form[@id="main-post-form"]/div/textArea'; + let commentArea = await findByXpath(commentXpath); + await commentArea.sendKeys(profileComment); + await clickXpath('//div[@class="button small"]/a[contains(text(), "Post")]'); + + // reload page + await driver.get(profileUrl); + + // find the comment + let newComment = await findByXpath(`//div[@class="comment "]/div/div[contains(text(), "${buildNumber}")]`); + let commentVisible = await newComment.isDisplayed(); + await expect(commentVisible).toBe(true); + + // return to homepage to sign out with www + await driver.get(rootUrl); + }); + + test('leave comment on studio', async () => { + await driver.get(studioUrl); + + // leave the comment + let commentBox = await findByXpath('//textArea[@name="compose-comment"]'); + await commentBox.sendKeys(studioComment); + await findByXpath(`//textarea[contains(text(), "${studioComment}")]`); + await clickXpath('//button[@class="button compose-post"]'); + + // reload the page + await driver.sleep(5000); + await driver.get(studioUrl); + + // find the comment + let commentXpath = `//div[@class="comment-bubble"]/span/span[contains(text(), "${buildNumber}")]`; + let postedComment = await findByXpath(commentXpath); + let commentVisible = await postedComment.isDisplayed(); + await expect(commentVisible).toBe(true); + }); }); - test('leave comment on a profile', async () => { - await signIn(username1, password, driver); - await findByXpath('//span[contains(@class, "profile-name")]'); - await driver.get(profileUrl); - - // leave the comment - let commentXpath = await '//form[@id="main-post-form"]/div/textArea'; - let commentArea = await findByXpath(commentXpath); - await commentArea.sendKeys(profileComment); - await clickXpath('//div[@class="button small"]/a[contains(text(), "Post")]'); - - // reload page - await driver.get(profileUrl); - - // find the comment - let newComment = await findByXpath(`//div[@class="comment "]/div/div[contains(text(), "${buildNumber}")]`); - let commentVisible = await newComment.isDisplayed(); - await expect(commentVisible).toBe(true); - - // return to homepage to sign out with www - await driver.get(rootUrl); - }); - - test('leave comment on studio', async () => { - await signIn(username1, password, driver); - await findByXpath('//span[contains(@class, "profile-name")]'); - await driver.get(studioUrl); - - // leave the comment - let commentBox = await findByXpath('//textArea[@name="compose-comment"]'); - await commentBox.sendKeys(studioComment); - await findByXpath(`//textarea[contains(text(), "${studioComment}")]`); - await clickXpath('//button[@class="button compose-post"]'); - - // reload the page - await driver.sleep(5000); - await driver.get(studioUrl); - - // find the comment - let commentXpath = `//div[@class="comment-bubble"]/span/span[contains(text(), "${buildNumber}")]`; - let postedComment = await findByXpath(commentXpath); - let commentVisible = await postedComment.isDisplayed(); - await expect(commentVisible).toBe(true); - }); - - // get notifications - - test('get notification badge for comments', async () => { - await signIn(username2, password, driver); - await findByXpath('//span[contains(@class, "profile-name")]'); - let messages = await findByXpath('//span[@class = "message-count show"]'); - let messagesVisible = await messages.isDisplayed(); - await expect(messagesVisible).toBe(true); - }); - - test('click notifications for comments', async () => { - await signIn(username2, password, driver); - await findByXpath('//span[contains(@class, "profile-name")]'); - await clickXpath('//li[@class="link right messages"]'); - let messages = await findByXpath('//ul[@class="messages-social-list"]'); - let messagesVisible = await messages.isDisplayed(); - await expect(messagesVisible).toBe(true); - }); - - test('project comment visible', async () => { - await signIn(username2, password, driver); - await findByXpath('//span[contains(@class, "profile-name")]'); - await driver.get(rootUrl + '/messages'); - - let projectMessageXpath = '//p[@class="emoji-text mod-comment" ' + - `and contains(text(), "${projectComment}")]`; - let projectMessage = await findByXpath(projectMessageXpath); - let projectMessageVisible = await projectMessage.isDisplayed(); - await expect(projectMessageVisible).toBe(true); - }); - - test('profile comment visible', async () => { - await signIn(username2, password, driver); - await findByXpath('//span[contains(@class, "profile-name")]'); - await driver.get(rootUrl + '/messages'); - - let profileMessageXpath = '//p[@class="emoji-text mod-comment" ' + - `and contains(text(), "${profileComment}")]`; - let profileMessage = await findByXpath(profileMessageXpath); - let profileMessageVisible = await profileMessage.isDisplayed(); - await expect(profileMessageVisible).toBe(true); - }); - - // studio comments do not send a notification });