From c5e404e6dc8187e55aa2c0c21853d9da3ce2da77 Mon Sep 17 00:00:00 2001
From: Christoph Thelen <christoph.thelen@mni.thm.de>
Date: Wed, 31 Oct 2012 12:42:19 +0100
Subject: [PATCH] Test clean up to prepare release

---
 .gitignore                                    |  1 +
 .../java/de/thm/arsnova/Selenium2Test.java    | 54 ++++++++++++-------
 2 files changed, 36 insertions(+), 19 deletions(-)

diff --git a/.gitignore b/.gitignore
index 5c71b5f8f..043004ca4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
 .settings/*
 target/*
 chromedriver.log
+.checkstyle
diff --git a/src/test/java/de/thm/arsnova/Selenium2Test.java b/src/test/java/de/thm/arsnova/Selenium2Test.java
index 33494a728..c17c79624 100644
--- a/src/test/java/de/thm/arsnova/Selenium2Test.java
+++ b/src/test/java/de/thm/arsnova/Selenium2Test.java
@@ -1,32 +1,39 @@
 package de.thm.arsnova;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertTrue;
 
 import java.io.IOException;
 import java.util.Properties;
 
-import org.junit.*;
-import org.openqa.selenium.*;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
 import org.openqa.selenium.html5.LocalStorage;
-import org.openqa.selenium.support.ui.*;
-import org.springframework.core.io.*;
+import org.openqa.selenium.support.ui.ExpectedCondition;
+import org.openqa.selenium.support.ui.WebDriverWait;
+import org.springframework.core.io.FileSystemResource;
+import org.springframework.core.io.Resource;
 import org.springframework.core.io.support.PropertiesLoaderUtils;
 
 import de.thm.arsnova.dao.CouchDBDao;
 import de.thm.arsnova.entities.Session;
-import de.thm.arsnova.services.*;
+import de.thm.arsnova.services.SessionService;
+import de.thm.arsnova.services.StubUserService;
 
 public class Selenium2Test {
 
-	ARSnovaChromeDriver driver;
-	Properties properties;
+	private ARSnovaChromeDriver driver;
+	private Properties properties;
 
-	CouchDBDao couchdbDao;
-	SessionService sessionService;
-	StubUserService userService;
+	private CouchDBDao couchdbDao;
+	private SessionService sessionService;
+	private StubUserService userService;
 
 	@Before
-	public void setUp() throws IOException {
+	public final void setUp() throws IOException {
 		Resource resource = new FileSystemResource("/etc/arsnova/arsnova.properties");
 		properties = PropertiesLoaderUtils.loadProperties(resource);
 
@@ -49,17 +56,14 @@ public class Selenium2Test {
 	}
 
 	@After
-	public void tearDown() {
+	public final void tearDown() {
 		driver.close();
 		driver.quit();
 	}
 
 	@Test
-	public void studentGuestShouldBeAbleToJoinSession() {
-		Session session = new Session();
-		session.setName("selenium test session");
-		session.setShortName("selenium");
-		session = couchdbDao.saveSession(session);
+	public final void studentGuestShouldSeeFeedbackButtonsAfterJoiningSession() {
+		Session session = couchdbDao.saveSession(createSession());
 
 		WebElement studentRoleButton = waitForElement(By.id("ext-gen1047"));
 		studentRoleButton.click();
@@ -77,11 +81,23 @@ public class Selenium2Test {
 	}
 
 	private WebElement waitForElement(final By by) {
-		(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
+		final long timeoutInSecs = 10;
+		(new WebDriverWait(driver, timeoutInSecs)).until(new ExpectedCondition<Boolean>() {
 			public Boolean apply(final WebDriver d) {
 				return d.findElement(by) != null;
 			}
 		});
 		return driver.findElement(by);
 	}
+
+	private Session createSession() {
+		return createNamedSession(null, null);
+	}
+
+	private Session createNamedSession(final String name, final String shortName) {
+		Session session = new Session();
+		session.setName(name != null ? name : "selenium test session");
+		session.setShortName(shortName != null ? shortName : "selenium");
+		return session;
+	}
 }
\ No newline at end of file
-- 
GitLab