From 9e0e2f8e77f2a749045eb797133597f9bf3b312b Mon Sep 17 00:00:00 2001 From: Bradley Schofield Date: Mon, 5 Sep 2022 11:21:04 +0100 Subject: [PATCH] Add Tests + Added Tests + Remove unneeded rand variable --- app/controllers/api/avatars.php | 2 - tests/e2e/Services/Avatars/AvatarsBase.php | 50 ++++++++++----------- tests/resources/initials.png | Bin 0 -> 3112 bytes 3 files changed, 24 insertions(+), 28 deletions(-) create mode 100644 tests/resources/initials.png diff --git a/app/controllers/api/avatars.php b/app/controllers/api/avatars.php index afda28b86..2a2c73e3e 100644 --- a/app/controllers/api/avatars.php +++ b/app/controllers/api/avatars.php @@ -368,8 +368,6 @@ App::get('/v1/avatars/initials') ['background' => '#CBB1FC'] // Purple ]; - $rand = \rand(0, \count($themes) - 1); - $name = (!empty($name)) ? $name : $user->getAttribute('name', $user->getAttribute('email', '')); $words = \explode(' ', \strtoupper($name)); // if there is no space, try to split by `_` underscore diff --git a/tests/e2e/Services/Avatars/AvatarsBase.php b/tests/e2e/Services/Avatars/AvatarsBase.php index e631fd439..e2ddc1a86 100644 --- a/tests/e2e/Services/Avatars/AvatarsBase.php +++ b/tests/e2e/Services/Avatars/AvatarsBase.php @@ -491,7 +491,6 @@ trait AvatarsBase 'name' => 'W W', 'width' => 200, 'height' => 200, - 'color' => 'ffffff', 'background' => '000000', ]); @@ -508,34 +507,33 @@ trait AvatarsBase 'name' => 'W W', 'width' => 200000, 'height' => 200, - 'color' => 'ffffff', 'background' => '000000', ]); $this->assertEquals(400, $response['headers']['status-code']); - - $response = $this->client->call(Client::METHOD_GET, '/avatars/initials', [ - 'x-appwrite-project' => $this->getProject()['$id'], - ], [ - 'name' => 'W W', - 'width' => 200, - 'height' => 200, - 'color' => 'white', - 'background' => '000000', - ]); - - $this->assertEquals(400, $response['headers']['status-code']); - - $response = $this->client->call(Client::METHOD_GET, '/avatars/initials', [ - 'x-appwrite-project' => $this->getProject()['$id'], - ], [ - 'name' => 'W W', - 'width' => 200, - 'height' => 200, - 'color' => 'ffffff', - 'background' => 'black', - ]); - - $this->assertEquals(400, $response['headers']['status-code']); + } + + public function testInitialImage() + { + $response = $this->client->call(Client::METHOD_GET, '/avatars/initials', [ + 'x-appwrite-project' => $this->getProject()['$id'], + ], [ + 'name' => 'W W', + 'width' => 200, + 'height' => 200, + ]); + + $this->assertEquals(200, $response['headers']['status-code']); + $this->assertEquals('image/png', $response['headers']['content-type']); + $this->assertNotEmpty($response['body']); + + $image = new \Imagick(); + $image->readImageBlob($response['body']); + $original = new \Imagick(__DIR__ . '/../../../resources/initials.png'); + + $this->assertEquals($image->getImageWidth(), $original->getImageWidth()); + $this->assertEquals($image->getImageHeight(), $original->getImageHeight()); + $this->assertEquals('PNG', $image->getImageFormat()); + $this->assertEquals(strlen(\file_get_contents(__DIR__ . '/../../../resources/initials.png')), strlen($response['body'])); } } diff --git a/tests/resources/initials.png b/tests/resources/initials.png new file mode 100644 index 0000000000000000000000000000000000000000..08a61594c612009d6c7cb0b805a27676e5762815 GIT binary patch literal 3112 zcmeHI`!~~%8-FvlvCV|iwbDrls=R8?>4=04Qk~9DS zh{MkIUR#m(w?RQ$zAXJDcPmJQ;oNZm(2xh)43XT*)d|jC?f{Um8vs($0APKKN|^xw ziXi~Z1p@%K1OODzvf4Zk0f6``yqk~1FZRH{_;&;UKO6YozIo{hAcR3Ln?)k} z+&mxz9p`QPymDL7L#I23n5Vt_dDXEAXR%LOWzubKUwk{#E}!~S-YlW7BIQ}pzMY#H zW9P)bemJbL-Bz8G70h3Tgi%^Gt>GJ!aSNI6ozx6WN>0xCTzlldUK(QPph94vNAq!A ztiKAsODW&oB|{6S-aoH8(+quUfuS~D2uf;y=otM**Xmu&Z+_Q@itjvm9XPP#Wu&Kce$h#AtSZ*8 zlEgIoY-wZ(^IbjLiwG^v+vLJO8MZi-pT{qkN}Xm{eT&^Xv*$P7pqgn?s4i2iCKh3geL0W`ugDG*b>f{i zIu=XWHsH#)8pB`knneFSkK@r8_z2d@XflZioeOk&maA^7IU?VaUqhwyzmJ%ybAAucWJ^w_MBuFDX4v@8|1Q-C{-G~z3`ihMYf zr=fRkqW2rw7FWui^6fhg28T1&->&Ooi~K#?0=Xu!IZfoavIxeV?rca<-D= zL-^@Jpk^BgGuTbMBbEZpX@a2aILRo_$2&*L}OGYU{vB!^9=2*$( zG&e|dTP)e;BkZF|Dv}@d?LZgh;O6r&1kgdHuD$NQY?0#^dl=)YlDB#X<{V7Ad_68EzW-%?UX&Qjs?h(AZ_&|i*ZB~0$Bk20VJ{XBN^MC(E`s-I z;ag3w{HYUh_R1X<^9%P*l7%QN6#F`9M^SHW1b@gLF);Y;JWXUCPYWE@t9=MpA)3-0 zDqnCu!fH*xEKui~rcWSjp&XMPnK^TAP}P@ zZnYY>mtGg*Q6>j&-N!h+U+}gVg|fa5JG!^EL1sF zbQiC8saa?@3`uhE>j;Nog{I{sCve=bC?gWG#RLZaSt*J_H+q`N`bv+k*QMRhy2L#)OrAVeT@+RB+-S`=ijs}{urgNgyfC8QisF!A+3#xd z(EB*5x_}Qoee$Q#A z@5pl#>4I-e+&Js4*F|b4r%q~Zui zaz!1cRFs6XN!sQn?9gtq8|`vEhyHr*0A+3H0$8k|h%^4M0{QTf506~i&XMhzs*;eh zrnjY{-fV_;R;wiIk7B{;ae=l9%DI`Jz)Y2k7&8byjDNDLIPO;sq zqt8-m{`xKR$1iT!H0F-cdp!m^!^NOUSrHk%_2hxW4j%S(w!yUj09WC4 A&j0`b literal 0 HcmV?d00001