diff --git a/src/nf_modules/FastQC/fastqc.nf b/src/nf_modules/FastQC/fastqc.nf
index 6ab41409a5f505cd9de5bb2c4e6c9b658a8bc654..5a8237cc06b5a94fdf9a219a69ab3413edc7977e 100644
--- a/src/nf_modules/FastQC/fastqc.nf
+++ b/src/nf_modules/FastQC/fastqc.nf
@@ -21,19 +21,19 @@ Channel
   .set { fastq_files }
 
 process fastqc_fastq {
-  tag "$fastq.baseName"
+  tag "$reads.baseName"
   publishDir "results/fastq/fastqc/", mode: 'copy'
   cpus = 1
 
   input:
-    file fastq from fastq_files
+    file reads from fastq_files
 
   output:
     file "*.{zip,html}" into fastqc_repport
 
   script:
 """
-fastqc --quiet --threads ${task.cpus} --outdir -f fastq ./ ${fastq}
+fastqc --quiet --threads ${task.cpus} --format fastq --outdir ./ ${reads}
 """
 }
 
@@ -63,8 +63,8 @@ process fastqc_fastq {
 
   script:
 """
-fastqc --quiet --threads ${task.cpus} --outdir -f fastq ./ \
-${fastq[0]} ${fastq[1]}
+fastqc --quiet --threads ${task.cpus} --format fastq --outdir ./ \
+${reads[0]} ${reads[1]}
 """
 }
 
diff --git a/src/nf_modules/FastQC/tests/fastqc_paired.nf b/src/nf_modules/FastQC/tests/fastqc_paired.nf
new file mode 100644
index 0000000000000000000000000000000000000000..d7cec0ddece0a40098bb74cf09b7ab22f4a5b207
--- /dev/null
+++ b/src/nf_modules/FastQC/tests/fastqc_paired.nf
@@ -0,0 +1,26 @@
+params.fastq = "$baseDir/data/fastq/*_{1,2}.fastq"
+
+log.info "fastq files : ${params.fastq}"
+
+Channel
+  .fromFilePairs( params.fastq )
+  .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" }
+  .set { fastq_files }
+
+process fastqc_fastq {
+  tag "$pair_id"
+  publishDir "results/fastq/fastqc/", mode: 'copy'
+
+  input:
+  set pair_id, file(reads) from fastq_files
+
+  output:
+    file "*.{zip,html}" into fastqc_repport
+
+  script:
+"""
+fastqc --quiet --threads ${task.cpus} --format fastq --outdir ./ \
+${reads[0]} ${reads[1]}
+"""
+}
+
diff --git a/src/nf_modules/FastQC/tests/fastqc_single.nf b/src/nf_modules/FastQC/tests/fastqc_single.nf
new file mode 100644
index 0000000000000000000000000000000000000000..1ec9ad3dc08728c84690230975817efea990cda9
--- /dev/null
+++ b/src/nf_modules/FastQC/tests/fastqc_single.nf
@@ -0,0 +1,26 @@
+params.fastq = "$baseDir/data/fastq/*.fastq"
+
+log.info "fastq files : ${params.fastq}"
+
+Channel
+  .fromPath( params.fastq )
+  .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" }
+  .set { fastq_files }
+
+process fastqc_fastq {
+  tag "$reads.baseName"
+  publishDir "results/fastq/fastqc/", mode: 'copy'
+  cpus = 1
+
+  input:
+    file reads from fastq_files
+
+  output:
+    file "*.{zip,html}" into fastqc_repport
+
+  script:
+"""
+fastqc --quiet --threads ${task.cpus} --format fastq --outdir ./ ${reads}
+"""
+}
+
diff --git a/src/nf_modules/FastQC/tests/tests.sh b/src/nf_modules/FastQC/tests/tests.sh
new file mode 100755
index 0000000000000000000000000000000000000000..147503b411bd0232f064c76fb75c1a45533a0e79
--- /dev/null
+++ b/src/nf_modules/FastQC/tests/tests.sh
@@ -0,0 +1,9 @@
+nextflow src/nf_modules/FastQC/tests/fastqc_paired.nf \
+  -c src/nf_modules/FastQC/fastqc.config \
+  -profile docker \
+  --fastq "data/tiny_dataset/fastq/tiny_R{1,2}.fastq"
+
+nextflow src/nf_modules/FastQC/tests/fastqc_single.nf \
+  -c src/nf_modules/FastQC/fastqc.config \
+  -profile docker \
+  --fastq "data/tiny_dataset/fastq/tiny_S.fastq"