From 8316f9594ba1220db01efce05b40c95c9ffe7f40 Mon Sep 17 00:00:00 2001
From: demangel6u <mael.demangel3@etu.univ-lorraine.fr>
Date: Tue, 2 Apr 2024 17:17:18 +0200
Subject: [PATCH] =?UTF-8?q?tests=20de=20la=20cr=C3=A9ation=20de=20compte?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Makefile                    |  10 ++++
 tests/TestConnexionTest.php | 105 ++++++++++++++++++++++++++++++++++--
 2 files changed, 112 insertions(+), 3 deletions(-)
 create mode 100644 Makefile

diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000..597f65a1
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,10 @@
+SHELL := /bin/bash
+
+tests:
+	symfony console doctrine:database:drop --force --env=test || true
+	symfony console doctrine:database:create --env=test
+	symfony console doctrine:migrations:migrate -n --env=test
+	symfony console doctrine:fixtures:load -n --env=test
+	symfony php bin/phpunit
+
+.PHONY: tests
\ No newline at end of file
diff --git a/tests/TestConnexionTest.php b/tests/TestConnexionTest.php
index 8c5b1619..d3d5b56c 100644
--- a/tests/TestConnexionTest.php
+++ b/tests/TestConnexionTest.php
@@ -35,9 +35,108 @@ class TestConnexionTest extends WebTestCase
         ]);
 
         // Vérifier si la redirection s'est faite après l'inscription réussie
-        $this->assertResponseRedirects();
+        $this->assertResponseRedirects('/login');
 
-        // Vérifier que l'utilisateur est inscrit en vérifiant la présence de son nom d'utilisateur par exemple
-        // $this->assertSelectorTextContains('p', 'test_user');
+        //On test le cas de deux identifiants identiques
+        $client->request('GET', '/register');
+
+        $client->submitForm('inscription-btn',[
+            'registration_form[login]' => 'testCo',
+            'registration_form[plainPassword]'=> 'testCo',
+            'registration_form[abonnement]' => 20,
+        ]);
+        
+        $this->assertFalse($client->getResponse()->isRedirect());
+
+
+        //On test le cas où le code postal est incorrect
+        $client->request('GET', '/register');
+        
+        $client->submitForm('inscription-btn',[
+            'registration_form[login]' => 'testCodePostal',
+            'registration_form[plainPassword]'=> 'test',
+            'registration_form[code_postal]' => 123,
+            'registration_form[abonnement]' => 20,
+        ]);
+        
+        $this->assertFalse($client->getResponse()->isRedirect());
+
+        $client->submitForm('inscription-btn',[
+            'registration_form[login]' => 'testCodePostal',
+            'registration_form[plainPassword]'=> 'test',
+            'registration_form[code_postal]' => 'abcde',
+            'registration_form[abonnement]' => 20,
+        ]);
+        
+        $this->assertFalse($client->getResponse()->isRedirect());
+
+        $client->submitForm('inscription-btn',[
+            'registration_form[login]' => 'testCodePostal',
+            'registration_form[plainPassword]'=> 'test',
+            'registration_form[code_postal]' => 12345,
+            'registration_form[abonnement]' => 20,
+        ]);
+        
+        $this->assertResponseRedirects('/login');
+
+        //On test le cas où le numéro de téléphone est incorrect
+        $client->request('GET', '/register');
+        
+        $client->submitForm('inscription-btn',[
+            'registration_form[login]' => 'testTelephone',
+            'registration_form[plainPassword]'=> 'test',
+            'registration_form[telephone]' => 123,
+            'registration_form[abonnement]' => 20,
+        ]);
+
+        $this->assertFalse($client->getResponse()->isRedirect());
+
+        $client->submitForm('inscription-btn',[
+            'registration_form[login]' => 'testTelephone',
+            'registration_form[plainPassword]'=> 'test',
+            'registration_form[telephone]' => 'abcdefghij',
+            'registration_form[abonnement]' => 20,
+        ]);
+
+        $this->assertFalse($client->getResponse()->isRedirect());
+
+        $client->submitForm('inscription-btn',[
+            'registration_form[login]' => 'testTelephone',
+            'registration_form[plainPassword]'=> 'test',
+            'registration_form[telephone]' => 1234567890,
+            'registration_form[abonnement]' => 20,
+        ]);
+
+        $this->assertResponseRedirects('/login');
+
+        //On test le cas où l'email est incorrect
+        $client->request('GET', '/register');
+        
+        $client->submitForm('inscription-btn',[
+            'registration_form[login]' => 'testMail',
+            'registration_form[plainPassword]'=> 'test',
+            'registration_form[email]' => 'test.mail.com',
+            'registration_form[abonnement]' => 20,
+        ]);
+
+        $this->assertFalse($client->getResponse()->isRedirect());
+
+        $client->submitForm('inscription-btn',[
+            'registration_form[login]' => 'testMail',
+            'registration_form[plainPassword]'=> 'test',
+            'registration_form[email]' => 'test.mail@',
+            'registration_form[abonnement]' => 20,
+        ]);
+
+        $this->assertFalse($client->getResponse()->isRedirect());
+
+        $client->submitForm('inscription-btn',[
+            'registration_form[login]' => 'testMail',
+            'registration_form[plainPassword]'=> 'test',
+            'registration_form[email]' => 'test.mail@gmail.fr',
+            'registration_form[abonnement]' => 20,
+        ]);
+
+        $this->assertResponseRedirects('/login');
     }
 }
\ No newline at end of file
-- 
GitLab