Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 42
0.00% covered (danger)
0.00%
0 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 1
phpbb_functional_avatar_acp_groups_test
0.00% covered (danger)
0.00%
0 / 42
0.00% covered (danger)
0.00%
0 / 4
20
0.00% covered (danger)
0.00%
0 / 1
 get_url
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 avatar_acp_groups_data
0.00% covered (danger)
0.00%
0 / 36
0.00% covered (danger)
0.00%
0 / 1
2
 test_avatar_acp_groups
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 test_no_avatar_acp_groups
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3*
4* This file is part of the phpBB Forum Software package.
5*
6* @copyright (c) phpBB Limited <https://www.phpbb.com>
7* @license GNU General Public License, version 2 (GPL-2.0)
8*
9* For full copyright and license information, please see
10* the docs/CREDITS.txt file.
11*
12*/
13
14require_once __DIR__ . '/common_avatar_test_case.php';
15
16/**
17 * @group functional
18 */
19class phpbb_functional_avatar_acp_groups_test extends phpbb_functional_common_avatar_test_case
20{
21    public function get_url()
22    {
23        return 'adm/index.php?i=acp_groups&mode=manage&action=edit&g=5';
24    }
25
26    public static function avatar_acp_groups_data()
27    {
28        return array(
29            // Correct Gravatar
30            array(
31                'GROUP_UPDATED',
32                'avatar_driver_gravatar',
33                array(
34                    'avatar_gravatar_email'        => 'test@example.com',
35                    'avatar_gravatar_width'        => 80,
36                    'avatar_gravatar_height'    => 80,
37                ),
38            ),
39            // Gravatar with incorrect size
40            array(
41                'The submitted avatar is 140 wide and 140 high. Avatars must be at least 40 wide and 40 high, but no larger than 120 wide and 120 high.',
42                'avatar_driver_gravatar',
43                array(
44                    'avatar_gravatar_email'        => 'test@example.com',
45                    'avatar_gravatar_width'        => 140,
46                    'avatar_gravatar_height'    => 140,
47                ),
48            ),
49            // Delete avatar image to reset group settings
50            array(
51                array('CONFIRM_AVATAR_DELETE', 'GROUP_UPDATED'),
52                'avatar_driver_gravatar',
53                array(
54                    'avatar_delete'    => array('tick', ''),
55                ),
56            ),
57            array(
58                'EMAIL_INVALID_EMAIL',
59                'avatar_driver_gravatar',
60                array(
61                    'avatar_gravatar_email'        => 'foobar123',
62                    'avatar_gravatar_width'        => 120,
63                    'avatar_gravatar_height'    => 120,
64                ),
65            ),
66        );
67    }
68
69    /**
70    * @dataProvider avatar_acp_groups_data
71    */
72    public function test_avatar_acp_groups($expected, $avatar_type, $data)
73    {
74        $this->assert_avatar_submit($expected, $avatar_type, $data);
75    }
76
77    // Test if avatar was really deleted
78    public function test_no_avatar_acp_groups()
79    {
80        $crawler = self::request('GET', $this->get_url() . '&sid=' . $this->sid);
81        $form = $crawler->selectButton($this->lang('SUBMIT'))->form();
82        $form_data = $form->getValues();
83        $this->assertFalse(isset($form_data['avatar_type']));
84    }
85}