diff --git a/ChaoticCrates/Assets/Test/EditMode/EditMode.asmdef b/ChaoticCrates/Assets/Test/EditMode/EditMode.asmdef
index 55905486252c0f66a275ed78968b76ea157ada2a..7539ff3fee7cc8055a98351994e9dab7211e374f 100644
--- a/ChaoticCrates/Assets/Test/EditMode/EditMode.asmdef
+++ b/ChaoticCrates/Assets/Test/EditMode/EditMode.asmdef
@@ -7,7 +7,8 @@
         "Unity.Netcode.Runtime",
         "UI",
         "DevConsole",
-        "Logic"
+        "Logic",
+        "main"
     ],
     "includePlatforms": [
         "Editor"
diff --git a/ChaoticCrates/Assets/Test/EditMode/movable.cs b/ChaoticCrates/Assets/Test/EditMode/movable.cs
index 80e475604d7934f1377f7922fdd471f0868364a5..a70e7b092bf92b6d12f1cdf837dcc0c8830388ea 100644
--- a/ChaoticCrates/Assets/Test/EditMode/movable.cs
+++ b/ChaoticCrates/Assets/Test/EditMode/movable.cs
@@ -9,7 +9,9 @@ public class movable
 {
 
 
-
+    /// <summary>
+    /// Tests if movable is connected after making the connect.
+    /// </summary>
     [Test]
     public void connect_to_obj()
     {
@@ -30,7 +32,9 @@ public class movable
 
     }
 
-
+    /// <summary>
+    /// Tests disconnection from movable obj.
+    /// </summary>
     [Test]
     public void disconnect_from()
     {
diff --git a/ChaoticCrates/Assets/Test/PlayMode/move_action.cs b/ChaoticCrates/Assets/Test/PlayMode/move_action.cs
index 16b1c65de64d59fe1cba950d6e7cb4c0ccf643a9..c542bb641d56a50022e82344dff7b838d19c31da 100644
--- a/ChaoticCrates/Assets/Test/PlayMode/move_action.cs
+++ b/ChaoticCrates/Assets/Test/PlayMode/move_action.cs
@@ -12,6 +12,9 @@ public class move_action
     private GameObject testObject;
     private Movement robot;
 
+    /// <summary>
+    /// Setups the test testing env.
+    /// </summary>
     [SetUp]
     public void Setup()
     {
@@ -19,6 +22,11 @@ public class move_action
         robot = testObject.AddComponent<Movement>();
     }
 
+
+    /// <summary>
+    /// Tests move action with up param;
+    /// </summary>
+    /// <returns></returns>
     [UnityTest]
     public IEnumerator move_action_up()
     {
@@ -34,4 +42,65 @@ public class move_action
         Assert.AreEqual(robot.transform.position, start + Vector3.up);
 
     }
+
+    /// <summary>
+    /// Tests move action with down param;
+    /// </summary>
+    /// <returns></returns>
+    [UnityTest]
+    public IEnumerator move_action_down()
+    {
+
+        var start = robot.transform.position;
+
+        MoveRobotAction ma = new MoveRobotAction(0, robot.gameObject, Vector3.down);
+        ma.DoAction();
+
+        yield return new WaitForSeconds(1f);
+
+
+        Assert.AreEqual(robot.transform.position, start + Vector3.down);
+
+    }
+
+
+    /// <summary>
+    /// Tests move action with left param;
+    /// </summary>
+    /// <returns></returns>
+    [UnityTest]
+    public IEnumerator move_action_left()
+    {
+
+        var start = robot.transform.position;
+
+        MoveRobotAction ma = new MoveRobotAction(0, robot.gameObject, Vector3.left);
+        ma.DoAction();
+
+        yield return new WaitForSeconds(1f);
+
+
+        Assert.AreEqual(robot.transform.position, start + Vector3.left);
+
+    }
+
+    /// <summary>
+    /// Tests move action with right param;
+    /// </summary>
+    /// <returns></returns>
+    [UnityTest]
+    public IEnumerator move_action_right()
+    {
+
+        var start = robot.transform.position;
+
+        MoveRobotAction ma = new MoveRobotAction(0, robot.gameObject, Vector3.right);
+        ma.DoAction();
+
+        yield return new WaitForSeconds(1f);
+
+
+        Assert.AreEqual(robot.transform.position, start + Vector3.right);
+
+    }
 }
diff --git a/ChaoticCrates/Assets/Test/PlayMode/rotate_action_.cs b/ChaoticCrates/Assets/Test/PlayMode/rotate_action_.cs
index d9769a144820fdeb8cdca07182762c6bc76a5f73..8b181a85bc3e02cf5391c029ae8cc2ebf268463e 100644
--- a/ChaoticCrates/Assets/Test/PlayMode/rotate_action_.cs
+++ b/ChaoticCrates/Assets/Test/PlayMode/rotate_action_.cs
@@ -1,18 +1,76 @@
 using System.Collections;
 using System.Collections.Generic;
+using Logic.MapAndMovement;
+using Logic.RobotAction;
 using NUnit.Framework;
 using UnityEngine;
 using UnityEngine.TestTools;
 
 public class rotate_action_
 {
-   
+
+    private GameObject testObject;
+    private Movement robot;
+
+    [SetUp]
+    public void SetUp()
+    {
+        testObject = GameObject.Instantiate(new GameObject());
+        robot = testObject.AddComponent<Movement>();
+    }
+
+    /// <summary>
+    /// Rotate robot one time.
+    /// </summary>
+    /// <returns></returns>
     [UnityTest]
     public IEnumerator rotate_player()
     {
+        var start = robot.transform.position;
+
+        GameObject asd = GameObject.Instantiate(Resources.Load("robot") as GameObject,
+           new Vector3(0, 1, 0), Quaternion.identity);
+        
+        Movable mov = asd.GetComponent<Movable>();
+        mov.moveObject = new GameObject("kejjkj");
+     
+
+        RotateRobotAction ma = new RotateRobotAction(0,asd, 0) ;
+        ma.DoAction();
+
+        yield return new WaitForSeconds(1f);
+
+
+        Assert.AreEqual(robot.transform.position, start);
+
+    }
+
+
+    /// <summary>
+    /// Rotate player twice.
+    /// </summary>
+    /// <returns></returns>
+    [UnityTest]
+    public IEnumerator rotate_player_twice()
+    {
+        var start = robot.transform.position;
+
+        GameObject asd = GameObject.Instantiate(Resources.Load("robot") as GameObject,
+           new Vector3(0, 1, 0), Quaternion.identity);
+
+        Movable mov = asd.GetComponent<Movable>();
+        mov.moveObject = new GameObject("kejjkj");
+
+
+        RotateRobotAction ma = new RotateRobotAction(0, asd, 0);
+        RotateRobotAction ma1 = new RotateRobotAction(0, asd, 0);
+        ma.DoAction();
+        ma1.DoAction();
+
+        yield return new WaitForSeconds(1f);
+
 
-        GameObject player = new GameObject();
+        Assert.AreEqual(robot.transform.position, start);
 
-        yield return null;
     }
 }