3
3
namespace Joselfonseca \LighthouseGraphQLPassport \Tests \Integration \GraphQL \Mutations ;
4
4
5
5
use Illuminate \Support \Facades \Event ;
6
+ use Illuminate \Support \Facades \Hash ;
6
7
use Joselfonseca \LighthouseGraphQLPassport \Events \PasswordUpdated ;
7
8
use Joselfonseca \LighthouseGraphQLPassport \Tests \TestCase ;
8
9
use Joselfonseca \LighthouseGraphQLPassport \Tests \User ;
@@ -17,12 +18,13 @@ public function test_it_updates_logged_in_user_password()
17
18
$ user = User::create ([
18
19
'name ' => 'Jose Fonseca ' ,
19
20
'email ' => 'jose@example.com ' ,
20
- 'password ' => bcrypt ('123456789qq ' ),
21
+ 'password ' => Hash:: make ('123456789qq ' ),
21
22
]);
22
23
Passport::actingAs ($ user );
23
24
$ response = $ this ->postGraphQL ([
24
25
'query ' => 'mutation {
25
26
updatePassword(input: {
27
+ old_password: "123456789qq",
26
28
password: "newPassword123",
27
29
password_confirmation: "newPassword123"
28
30
}) {
@@ -52,6 +54,7 @@ public function test_it_validates_rules_for_password()
52
54
$ response = $ this ->postGraphQL ([
53
55
'query ' => 'mutation {
54
56
updatePassword(input: {
57
+ old_password: "123456789qq",
55
58
password: "newPassword123"
56
59
}) {
57
60
status
@@ -76,6 +79,7 @@ public function test_it_validates_logged_in_user()
76
79
$ response = $ this ->postGraphQL ([
77
80
'query ' => 'mutation {
78
81
updatePassword(input: {
82
+ old_password: "123456789qq",
79
83
password: "newPassword123",
80
84
password_confirmation: "newPassword123"
81
85
}) {
@@ -88,4 +92,32 @@ public function test_it_validates_logged_in_user()
88
92
$ this ->assertArrayHasKey ('errors ' , $ responseBody );
89
93
$ this ->assertEquals ('Unauthenticated. ' , $ responseBody ['errors ' ][0 ]['message ' ]);
90
94
}
95
+
96
+ public function test_it_validates_old_password ()
97
+ {
98
+ Event::fake ([PasswordUpdated::class]);
99
+ $ this ->createClient ();
100
+ $ user = User::create ([
101
+ 'name ' => 'Jose Fonseca ' ,
102
+ 'email ' => 'jose@example.com ' ,
103
+ 'password ' => Hash::make ('123456789qq ' ),
104
+ ]);
105
+ Passport::actingAs ($ user );
106
+ $ response = $ this ->postGraphQL ([
107
+ 'query ' => 'mutation {
108
+ updatePassword(input: {
109
+ old_password: "123456789erreqq",
110
+ password: "newPassword123",
111
+ password_confirmation: "newPassword123"
112
+ }) {
113
+ status
114
+ message
115
+ }
116
+ } ' ,
117
+ ]);
118
+ $ responseBody = json_decode ($ response ->getContent (), true );
119
+ $ this ->assertArrayHasKey ('errors ' , $ responseBody );
120
+ $ this ->assertEquals ('Validation Exception ' , $ responseBody ['errors ' ][0 ]['message ' ]);
121
+ $ this ->assertEquals ('Current password is incorrect ' , $ responseBody ['errors ' ][0 ]['extensions ' ]['errors ' ]['password ' ]);
122
+ }
91
123
}
0 commit comments