diff --git a/src/components/EditGameForm.js b/src/components/EditGameForm.js
index c985f3ec4e40b12c0fde8ceed4ae48f53ca7a0a4..dd4e9bd08d7b4c74390a6f4877f97679edecb363 100644
--- a/src/components/EditGameForm.js
+++ b/src/components/EditGameForm.js
@@ -1,27 +1,24 @@
 import React from 'react';
 import ReactDOM from 'react-dom';
-import {
-	Map,
-	TileLayer
-} from 'react-leaflet'
+import { Map, TileLayer } from 'react-leaflet';
 
-export class EditGameForm extends React.Component{
-  constructor(props){
+export class EditGameForm extends React.Component {
+  constructor(props) {
     super(props);
 
     this.state = {
-      gamename: "",
-      description: "",
-      startDate: "",
-      startTime: "",
-      endDate: "",
-      endTime: "",
+      gamename: '',
+      description: '',
+      startDate: '',
+      startTime: '',
+      endDate: '',
+      endTime: '',
       zoom: 13,
       mapCenter: {
         lat: 62.2416479,
         lng: 25.7597186
       }
-    }
+    };
 
     this.handleMapDrag = this.handleMapDrag.bind(this);
   }
@@ -51,33 +48,34 @@ export class EditGameForm extends React.Component{
     this.setState({
       mapCenter: e.target.getCenter()
     });
-  }
+  };
 
   handleMapScroll = e => {
     this.setState({
       zoom: e.target.getZoom()
     });
-  }
+  };
 
   handleGameSave = e => {
-    let startDate = this.state.startDate + "T" + this.state.startTime + ":00.000Z";
-    let endDate = this.state.endDate + "T" + this.state.endTime + ":00.000Z";
+    let startDate =
+      this.state.startDate + 'T' + this.state.startTime + ':00.000Z';
+    let endDate = this.state.endDate + 'T' + this.state.endTime + ':00.000Z';
 
     const gameObject = {
       name: this.state.gamename,
       desc: this.state.description,
-      map: "",
+      map: '',
       startdate: startDate,
       enddate: endDate,
       center: this.state.mapCenter
-    }
+    };
 
     e.preventDefault();
 
     let token = sessionStorage.getItem('token');
 
     // Send Game info to the server
-    fetch('http://localhost:5000/game/edit' + this.props.gameId, {
+    fetch('http://localhost:5000/game/edit/' + this.props.gameId, {
       method: 'PUT',
       headers: {
         Authorization: 'Bearer ' + token,
@@ -85,7 +83,8 @@ export class EditGameForm extends React.Component{
         'Content-Type': 'application/json'
       },
       body: JSON.stringify(gameObject)
-    }).then(res => res.json())
+    })
+      .then(res => res.json())
       .then(result => {
         alert(result.message);
         this.handleView();
@@ -102,112 +101,126 @@ export class EditGameForm extends React.Component{
     document.removeEventListener('keyup', this.handleEsc);
   }
 
-  getGameInfo(gameId){
+  getGameInfo(gameId) {
     fetch('http://localhost:5000/game/' + gameId)
       .then(response => response.json())
       .then(json => this.handleGameInfo(json))
       .catch(error => console.log(error));
   }
 
-  handleGameInfo(json){
+  handleGameInfo(json) {
     this.setState({
       gamename: json.name,
       description: json.desc,
-      startDate: json.startdate.substring(0,10),
-      startTime: json.startdate.substring(11,16),
-      endDate: json.enddate.substring(0,10),
-      endTime: json.enddate.substring(11,16),
+      startDate: json.startdate.substring(0, 10),
+      startTime: json.startdate.substring(11, 16),
+      endDate: json.enddate.substring(0, 10),
+      endTime: json.enddate.substring(11, 16),
       zoom: 13,
       mapCenter: {
         lat: json.center.lat,
         lng: json.center.lng
       }
-    })
+    });
   }
 
   render() {
-    return ReactDOM.createPortal (
-      <div className='fade-main'>
-        <div className='sticky'>
-          <span className='close' onClick={this.handleView}>
+    return ReactDOM.createPortal(
+      <div className="fade-main">
+        <div className="sticky">
+          <span
+            id="closeEditGameFormX"
+            className="close"
+            onClick={this.handleView}
+          >
             ×
           </span>
         </div>
-        <div className=''>
+        <div className="">
           <form onSubmit={this.handleGameSave}>
             <h1>Demo Game Creation</h1>
             <br />
             <input
-              placeholder='Game name'
-              name='gamename'
+              placeholder="Game name"
+              name="gamename"
               value={this.state.gamename}
               onChange={this.handleChange}
-              required
+              id="editGameNameInput"
             />
             <br />
             <input
-              placeholder='Description'
-              type='text'
-              name='description'
+              placeholder="Description"
+              type="text"
+              name="description"
               value={this.state.description}
               onChange={this.handleChange}
-              required
+              id="editGameDescriptionInput"
             />
             <br />
-            <label className=''>Start:</label>
+            <label className="">Start:</label>
             <input
-              className='formDate'
-              type='date'
-              name='startDate'
+              className="formDate"
+              type="date"
+              name="startDate"
               value={this.state.startDate}
               onChange={this.handleChange}
-              required
+              id="editGameDateStartInput"
             />
             <input
-              className='formTime'
-              type='time'
-              name='startTime'
+              className="formTime"
+              type="time"
+              name="startTime"
               value={this.state.startTime}
               onChange={this.handleChange}
-              required
+              rid="editGameTimeStartInput"
             />
             <br />
-            <label className=''>End:</label>
+            <label className="">End:</label>
             <input
-              className='formDate'
-              type='date'
-              name='endDate'
+              className="formDate"
+              type="date"
+              name="endDate"
               value={this.state.endDate}
               onChange={this.handleChange}
               min={this.state.startDate}
-              required
+              id="editGameDateEndInput"
             />
             <input
-              className='formTime'
-              type='time'
-              name='endTime'
+              className="formTime"
+              type="time"
+              name="endTime"
               value={this.state.endTime}
               onChange={this.handleChange}
-              required
+              id="editGameTimeEndInput"
             />
             <br />
             <label>Map things</label>
             <br />
-            <Map className='' center={[this.state.mapCenter.lat, this.state.mapCenter.lng]} zoom={this.state.zoom} style={{height: '400px', width: '400px'} } onmoveend={this.handleMapDrag} onzoomend={this.handleMapScroll}>
+            <Map
+              id="editGameCenterMap"
+              className=""
+              center={[this.state.mapCenter.lat, this.state.mapCenter.lng]}
+              zoom={this.state.zoom}
+              style={{ height: '400px', width: '400px' }}
+              onmoveend={this.handleMapDrag}
+              onzoomend={this.handleMapScroll}
+            >
               <TileLayer
-                attribution='Maanmittauslaitoksen kartta'
-                url=' https://tiles.kartat.kapsi.fi/taustakartta/{z}/{x}/{y}.jpg'
+                attribution="Maanmittauslaitoksen kartta"
+                url=" https://tiles.kartat.kapsi.fi/taustakartta/{z}/{x}/{y}.jpg"
               />
             </Map>
             <br />
-            <button type='submit'>Save changes</button>
+            <button id="editGameSubmitButton" type="submit">
+              Save changes
+            </button>
             <h2>{this.state.errorMsg}</h2>
           </form>
         </div>
-      </div>
-      ,document.getElementById('form')
+      </div>,
+      document.getElementById('form')
     );
   }
 }
 
-export default EditGameForm;
\ No newline at end of file
+export default EditGameForm;
diff --git a/src/components/GameList.js b/src/components/GameList.js
index 6b68d64393a4c25713bea74fa511ff0b0f92558b..26d32824205167bf9320b097955d9d405704c488 100644
--- a/src/components/GameList.js
+++ b/src/components/GameList.js
@@ -2,13 +2,13 @@ import React, { Fragment } from 'react';
 import EditGameForm from './EditGameForm';
 
 class GameList extends React.Component {
-  constructor(props){
+  constructor(props) {
     super(props);
     this.state = {
       games: [],
       selectedGame: null,
       editForm: false
-    }
+    };
 
     this.toggleView = this.toggleView.bind(this);
   }
@@ -17,39 +17,42 @@ class GameList extends React.Component {
     this.getGames();
   }
 
-  getGames(){
+  getGames() {
     fetch('http://localhost:5000/game/listgames')
-    .then(response => response.json())
-    .then(games => {
-      this.setState({
-        games: games,
-        selectedGame: games !== null && games[0].id
+      .then(response => response.json())
+      .then(games => {
+        this.setState({
+          games: games,
+          selectedGame: games !== null && games[0].id
+        });
+      })
+      .catch(error => {
+        console.log(error);
       });
-    })
-    .catch(error => {console.log(error);})
   }
 
-  handleChange = (e) =>{
+  handleChange = e => {
     this.setState({
       selectedGame: e.target.value
     });
-  }
+  };
 
-  handleEditClick = (e) => {
-    if(this.state.selectedGame === null){alert('No game selected');}
-    else{
+  handleEditClick = e => {
+    if (this.state.selectedGame === null) {
+      alert('No game selected');
+    } else {
       this.setState({
         editForm: true
       });
     }
-  }
+  };
 
-  toggleView = (e) =>{
+  toggleView = e => {
     this.setState({
       editForm: !this.state.editForm
     });
     this.getGames();
-  }
+  };
 
   render() {
     let items = [];
@@ -57,23 +60,32 @@ class GameList extends React.Component {
     for (let i = 0; i < this.state.games.length; i++) {
       const element = this.state.games[i];
       items.push(
-        <option key={element.id} value={element.id}>{element.name}</option>
+        <option key={element.id} value={element.id}>
+          {element.name}
+        </option>
       );
     }
 
     return (
       <Fragment>
         <label>Game: </label>
-        <select onChange={this.handleChange}>
+        <select id='changeActiveGameList' onChange={this.handleChange}>
           {items}
-        </select> 
-        {sessionStorage.getItem('token') 
-        && <button onClick={this.handleEditClick}>Edit game</button>}
-        {(this.state.editForm && this.state.selectedGame !== null) 
-          && <EditGameForm gameId={this.state.selectedGame} toggleView={this.toggleView}/>}
+        </select>
+        {sessionStorage.getItem('token') && (
+          <button id='editGameButton' onClick={this.handleEditClick}>
+            Edit game
+          </button>
+        )}
+        {this.state.editForm && this.state.selectedGame !== null && (
+          <EditGameForm
+            gameId={this.state.selectedGame}
+            toggleView={this.toggleView}
+          />
+        )}
       </Fragment>
     );
   }
 }
- 
-export default GameList;
\ No newline at end of file
+
+export default GameList;
diff --git a/src/components/Header.js b/src/components/Header.js
index 6eff8b4572bd8e4404d9a167fbb556756ac6bf40..6a0f788fcea295fff261cf87a6163a92889ebe45 100644
--- a/src/components/Header.js
+++ b/src/components/Header.js
@@ -7,7 +7,7 @@ import NewGameForm from './NewGameForm';
 
 class Header extends React.Component {
   state = {
-    form: "", // Popup form (login, register etc.)
+    form: '', // Popup form (login, register etc.)
     username: null,
     token: null
   };
@@ -39,24 +39,24 @@ class Header extends React.Component {
           Authorization: 'Bearer ' + token
         }
       })
-      .then(res => res.json())
-      .then(
-        result => {
-          // if token is still valid, login user
-          if (result === true) {
-            this.setState({
-              username: sessionStorage.getItem('name'),
-              token: token
-            });
-            // logout user if token has expired / is invalid
-          } else {
-            this.handleLogout();
+        .then(res => res.json())
+        .then(
+          result => {
+            // if token is still valid, login user
+            if (result === true) {
+              this.setState({
+                username: sessionStorage.getItem('name'),
+                token: token
+              });
+              // logout user if token has expired / is invalid
+            } else {
+              this.handleLogout();
+            }
+          },
+          error => {
+            console.log(error);
           }
-        },
-        error => {
-          console.log(error);
-        }
-      );
+        );
     }
   }
 
@@ -65,21 +65,35 @@ class Header extends React.Component {
       <div>
         <div className='header'>
           {!this.state.username && (
-            <button onClick={() => this.toggleView('register')}>
+            <button
+              id='registerButton'
+              onClick={() => this.toggleView('register')}
+            >
               register
             </button>
           )}
           {!this.state.username && (
-            <button onClick={() => this.toggleView('login')}>login</button>
+            <button id='loginButton' onClick={() => this.toggleView('login')}>
+              login
+            </button>
           )}
           {this.state.username && (
-            <button onClick={() => this.toggleView('newgame')}>New Game</button>
+            <button
+              id='newGameButton'
+              onClick={() => this.toggleView('newgame')}
+            >
+              New Game
+            </button>
           )}
           {this.state.username && (
-            <button onClick={this.handleLogout}>logout</button>
+            <button id='logoutButton' onClick={this.handleLogout}>
+              logout
+            </button>
           )}
           {this.state.username && <button>{this.state.username}</button>}
-          <button onClick={this.props.handleLayerChange}>change layer</button>
+          <button id='changeLayerButton' onClick={this.props.handleLayerChange}>
+            change layer
+          </button>
           <GameList />
         </div>
         {this.state.form === 'register' && (
diff --git a/src/components/LoginForm.js b/src/components/LoginForm.js
index 2714949f5208ed579754098086939a4fe2e10798..f37999dd525befe0f4f8cf95f15090f10478b046 100644
--- a/src/components/LoginForm.js
+++ b/src/components/LoginForm.js
@@ -80,7 +80,7 @@ export class LoginForm extends React.Component {
     return (
       <div className='fade-main'>
         <div className='sticky'>
-          <span className='close' onClick={this.handleView}>
+          <span id="closeLoginFormX" className='close' onClick={this.handleView}>
             ×
           </span>
         </div>
@@ -93,7 +93,7 @@ export class LoginForm extends React.Component {
               name='username'
               value={this.state.username}
               onChange={this.handleChange}
-              required
+              id="loginUsernameInput"
             />
             <br />
             <input
@@ -102,14 +102,15 @@ export class LoginForm extends React.Component {
               name='password'
               value={this.state.password}
               onChange={this.handleChange}
-              required
+              id="loginPasswordInput"
             />
             <br />
-            <button type='submit'>login</button>
+            <button id="submitLoginButton" type='submit'>login</button>
             <h2>{this.state.errorMsg}</h2>
           </form>
         </div>
       </div>
+
     );
   }
 }
diff --git a/src/components/NewGameForm.js b/src/components/NewGameForm.js
index 5f133377d5a4b415a394038b0442b71cc928f93b..3f83ccfa0f2cc7a87b500ffb2f938bfe39b72b41 100644
--- a/src/components/NewGameForm.js
+++ b/src/components/NewGameForm.js
@@ -1,28 +1,25 @@
 import React from 'react';
 import ReactDOM from 'react-dom';
-import {
-	Map,
-	TileLayer
-} from 'react-leaflet'
+import { Map, TileLayer } from 'react-leaflet';
 
-export class NewGameForm extends React.Component{
-  constructor(props){
+export class NewGameForm extends React.Component {
+  constructor(props) {
     super(props);
 
     this.state = {
-      gamename: "",
-      description: "",
-      startDate: "",
-      startTime: "",
-      endDate: "",
-      endTime: "",
+      gamename: '',
+      description: '',
+      startDate: '',
+      startTime: '',
+      endDate: '',
+      endTime: '',
       passwords: [],
       zoom: 13,
       mapCenter: {
         lat: 62.2416479,
         lng: 25.7597186
       }
-    }
+    };
 
     this.handleMapDrag = this.handleMapDrag.bind(this);
   }
@@ -52,27 +49,28 @@ export class NewGameForm extends React.Component{
     this.setState({
       mapCenter: e.target.getCenter()
     });
-  }
+  };
 
   handleMapScroll = e => {
     this.setState({
       zoom: e.target.getZoom()
     });
-  }
+  };
 
   handleGameCreation = e => {
-    let startDate = this.state.startDate + "T" + this.state.startTime + ":00.000Z";
-    let endDate = this.state.endDate + "T" + this.state.endTime + ":00.000Z";
+    let startDate =
+      this.state.startDate + 'T' + this.state.startTime + ':00.000Z';
+    let endDate = this.state.endDate + 'T' + this.state.endTime + ':00.000Z';
 
     const gameObject = {
       name: this.state.gamename,
       desc: this.state.description,
-      map: "",
+      map: '',
       startdate: startDate,
       enddate: endDate,
       passwords: [this.state.password],
       center: this.state.mapCenter
-    }
+    };
 
     e.preventDefault();
 
@@ -87,7 +85,8 @@ export class NewGameForm extends React.Component{
         'Content-Type': 'application/json'
       },
       body: JSON.stringify(gameObject)
-    }).then(res => res.json())
+    })
+      .then(res => res.json())
       .then(result => {
         this.handleView();
       })
@@ -103,86 +102,100 @@ export class NewGameForm extends React.Component{
   }
 
   render() {
-    return ReactDOM.createPortal (
-      <div className='fade-main'>
-        <div className='sticky'>
-          <span className='close' onClick={this.handleView}>
+    return ReactDOM.createPortal(
+      <div className="fade-main">
+        <div className="sticky">
+          <span
+            id="closeNewGameFormX"
+            className="close"
+            onClick={this.handleView}
+          >
             ×
           </span>
         </div>
-        <div className=''>
+        <div className="">
           <form onSubmit={this.handleGameCreation}>
             <h1>Demo Game Creation</h1>
             <br />
             <input
-              placeholder='Game name'
-              name='gamename'
+              placeholder="Game name"
+              name="gamename"
               value={this.state.gamename}
               onChange={this.handleChange}
-              required
+              id="newGameNameInput"
             />
             <br />
             <input
-              placeholder='Description'
-              type='text'
-              name='description'
+              placeholder="Description"
+              type="text"
+              name="description"
               value={this.state.description}
               onChange={this.handleChange}
-              required
+              id="newGameDescriptionInput"
             />
             <br />
-            <label className=''>Start:</label>
+            <label className="">Start:</label>
             <input
-              className='formDate'
-              type='date'
-              name='startDate'
+              className="formDate"
+              type="date"
+              name="startDate"
               value={this.state.startDate}
               onChange={this.handleChange}
-              required
+              id="newGameDateStartInput"
             />
             <input
-              className='formTime'
-              type='time'
-              name='startTime'
+              className="formTime"
+              type="time"
+              name="startTime"
               onChange={this.handleChange}
-              required
+              id="newGameTimeStartInput"
             />
             <br />
-            <label className=''>End:</label>
+            <label className="">End:</label>
             <input
-              className='formDate'
-              type='date'
-              name='endDate'
+              className="formDate"
+              type="date"
+              name="endDate"
               value={this.state.endDate}
               onChange={this.handleChange}
               min={this.state.startDate}
-              required
+              id="newGameDateEndInput"
             />
             <input
-              className='formTime'
-              type='time'
-              name='endTime'
+              className="formTime"
+              type="time"
+              name="endTime"
               onChange={this.handleChange}
-              required
+              id="newGameTimeEndInput"
             />
             <br />
             <label>Map things</label>
             <br />
-            <Map className='' center={[this.state.mapCenter.lat, this.state.mapCenter.lng]} zoom={this.state.zoom} style={{height: '400px', width: '400px'} } onmoveend={this.handleMapDrag} onzoomend={this.handleMapScroll}>
+            <Map
+              id="newGameCenterMap"
+              className=""
+              center={[this.state.mapCenter.lat, this.state.mapCenter.lng]}
+              zoom={this.state.zoom}
+              style={{ height: '400px', width: '400px' }}
+              onmoveend={this.handleMapDrag}
+              onzoomend={this.handleMapScroll}
+            >
               <TileLayer
-                attribution='Maanmittauslaitoksen kartta'
-                url=' https://tiles.kartat.kapsi.fi/taustakartta/{z}/{x}/{y}.jpg'
+                attribution="Maanmittauslaitoksen kartta"
+                url=" https://tiles.kartat.kapsi.fi/taustakartta/{z}/{x}/{y}.jpg"
               />
             </Map>
             <br />
-            <button type='submit'>Submit</button>
+            <button id="newGameSubmitButton" type="submit">
+              Submit
+            </button>
             <h2>{this.state.errorMsg}</h2>
           </form>
         </div>
-      </div>
-      ,document.getElementById('form')
+      </div>,
+      document.getElementById('form')
     );
   }
 }
 
-export default NewGameForm;
\ No newline at end of file
+export default NewGameForm;
diff --git a/src/components/RegisterForm.js b/src/components/RegisterForm.js
index 5358a600d5063eefbe24bff06e8fb3da05a78afb..960731a446dc6ac6fd9210f7d9b74cbe46066874 100644
--- a/src/components/RegisterForm.js
+++ b/src/components/RegisterForm.js
@@ -87,7 +87,11 @@ export class RegisterForm extends React.Component {
     return (
       <div className='fade-main'>
         <div className='sticky'>
-          <span className='close' onClick={this.handleView}>
+          <span
+            id='closeRegisterFormX'
+            className='close'
+            onClick={this.handleView}
+          >
             ×
           </span>
         </div>
@@ -100,7 +104,7 @@ export class RegisterForm extends React.Component {
               name='username'
               value={this.state.username}
               onChange={this.handleChange}
-              required
+              id='registerUsernameInput'
             />
             <br />
             <input
@@ -109,7 +113,7 @@ export class RegisterForm extends React.Component {
               name='password'
               value={this.state.password}
               onChange={this.handleChange}
-              required
+              id='registerPasswordInput'
             />
             <br />
             <input
@@ -118,10 +122,12 @@ export class RegisterForm extends React.Component {
               name='password2'
               value={this.state.password2}
               onChange={this.handleChange}
-              required
+              id='registerPasswordVerifyInput'
             />
             <br />
-            <button type='submit'>register</button>
+            <button id='submitRegisterButton' type='submit'>
+              register
+            </button>
             <h2>{this.state.errorMsg}</h2>
           </form>
         </div>