aboutsummaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
authorAlexander Kabui2022-03-25 15:52:48 +0300
committerAlexander Kabui2022-03-25 15:52:48 +0300
commit0d40480a522de87104c5c88cae505f18e6dd22f8 (patch)
treed3ca2a37bc2f911211d47fc1d395256200935578 /tests/unit
parent41a43b5797a8826cfbe5cc6674023705d98f8e1a (diff)
downloadgenenetwork3-chores/ctl-wgcna-enhancement.tar.gz
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/computations/test_wgcna.py36
1 files changed, 29 insertions, 7 deletions
diff --git a/tests/unit/computations/test_wgcna.py b/tests/unit/computations/test_wgcna.py
index b42de50..99c2936 100644
--- a/tests/unit/computations/test_wgcna.py
+++ b/tests/unit/computations/test_wgcna.py
@@ -1,12 +1,16 @@
"""module contains python code for wgcna"""
+
from unittest import TestCase
from unittest import mock
import pytest
+import os.path
+
from gn3.computations.wgcna import dump_wgcna_data
from gn3.computations.wgcna import compose_rscript_cmd
from gn3.computations.wgcna import call_wgcna_script
+from gn3.settings import R_SCRIPTS
class TestWgcna(TestCase):
@@ -124,14 +128,18 @@ class TestWgcna(TestCase):
@pytest.mark.unit_test
def test_compose_rscript_cmd(self):
"""test for composing wgcna cmd"""
- wgcna_cmd = compose_rscript_cmd(
- "wgcna.r", "/tmp/wgcna.json")
- self.assertEqual(
- wgcna_cmd, '"Rscript ./scripts/wgcna.r /tmp/wgcna.json"')
- @pytest.mark.unit_test
- @mock.patch("gn3.computations.wgcna.TMPDIR", "/tmp")
- @mock.patch("gn3.computations.wgcna.uuid.uuid4")
+ expected_cmd = '"Rscript /home/scripts/test_script.R tmp/wgcna.json"'
+
+ cmd = compose_rscript_cmd(script_path="/home/scripts",
+ file_name="test_script.R",
+ temp_file_path="tmp/wgcna.json")
+
+ self.assertEqual(cmd, expected_cmd)
+
+ @ pytest.mark.unit_test
+ @ mock.patch("gn3.computations.wgcna.TMPDIR", "/tmp")
+ @ mock.patch("gn3.computations.wgcna.uuid.uuid4")
def test_create_json_file(self, file_name_generator):
"""test for writing the data to a csv file"""
# # All the traits we have data for (should not contain duplicates)
@@ -170,3 +178,17 @@ class TestWgcna(TestCase):
self.assertEqual(
results, "/tmp/facb73ff-7eef-4053-b6ea-e91d3a22a00c.json")
+
+ def test_if_scripts_file_exists(self):
+ """check if certain script files exists"""
+
+ files_data = [
+ ("wgcna_analysis.R", True),
+ ("ctl_analysis.R", True),
+ ("control_experiment.R", False)
+ ]
+
+ for file_name, file_exists in files_data:
+ file_path = os.path.join(R_SCRIPTS, file_name)
+ self.assertIs(os.path.exists(file_path), file_exists,
+ f"the file {file_path} doesn't exist in path")