mirror of
https://github.com/nextcloud/server.git
synced 2026-02-20 00:12:30 -05:00
add unit tests for new user create mail
This commit is contained in:
parent
3b61f76ca0
commit
04e172c2ce
2 changed files with 78 additions and 2 deletions
|
|
@ -84,11 +84,11 @@ class Application extends App {
|
|||
$c->query('Config'),
|
||||
$c->query('IsAdmin'),
|
||||
$c->query('L10N'),
|
||||
$c->getServer()->getLogger(),
|
||||
$c->query('Logger'),
|
||||
$c->query('Defaults'),
|
||||
$c->query('Mail'),
|
||||
$c->query('DefaultMailAddress'),
|
||||
$c->getServer()->getURLGenerator()
|
||||
$c->query('URLGenerator')
|
||||
);
|
||||
});
|
||||
|
||||
|
|
@ -139,5 +139,11 @@ class Application extends App {
|
|||
$container->registerService('DefaultMailAddress', function(IContainer $c) {
|
||||
return Util::getDefaultEmailAddress('no-reply');
|
||||
});
|
||||
$container->registerService('Logger', function(IContainer $c) {
|
||||
return $c->query('ServerContainer')->getLogger();
|
||||
});
|
||||
$container->registerService('URLGenerator', function(IContainer $c) {
|
||||
return $c->query('ServerContainer')->getURLGenerator();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,6 +45,16 @@ class UsersControllerTest extends \Test\TestCase {
|
|||
->will($this->returnCallback(function($text, $parameters = array()) {
|
||||
return vsprintf($text, $parameters);
|
||||
}));
|
||||
$this->container['Defaults'] = $this->getMockBuilder('\OC_Defaults')
|
||||
->disableOriginalConstructor()->getMock();
|
||||
$this->container['Mail'] = $this->getMockBuilder('\OC_Mail')
|
||||
->disableOriginalConstructor()->getMock();
|
||||
$this->container['DefaultMailAddress'] = 'no-reply@owncloud.com';
|
||||
$this->container['Logger'] = $this->getMockBuilder('\OCP\ILogger')
|
||||
->disableOriginalConstructor()->getMock();
|
||||
$this->container['URLGenerator'] = $this->getMockBuilder('\OCP\IURLGenerator')
|
||||
->disableOriginalConstructor()->getMock();
|
||||
|
||||
$this->usersController = $this->container['UsersController'];
|
||||
|
||||
}
|
||||
|
|
@ -473,4 +483,64 @@ class UsersControllerTest extends \Test\TestCase {
|
|||
$this->assertEquals($expectedResponse, $response);
|
||||
}
|
||||
|
||||
/**
|
||||
* test if an invalid mail result in a failure response
|
||||
*/
|
||||
public function testCreateUnsuccessfulWithInvalidEMail() {
|
||||
/**
|
||||
* FIXME: Disabled due to missing DI on mail class.
|
||||
* TODO: Re-enable when https://github.com/owncloud/core/pull/12085 is merged.
|
||||
*/
|
||||
$this->markTestSkipped('Disable test until OC_Mail is rewritten.');
|
||||
|
||||
$this->container['Mail']
|
||||
->expects($this->once())
|
||||
->method('validateAddress')
|
||||
->will($this->returnValue(false));
|
||||
|
||||
$expectedResponse = new DataResponse(
|
||||
array(
|
||||
'message' => 'Invalid mail address'
|
||||
),
|
||||
Http::STATUS_UNPROCESSABLE_ENTITY
|
||||
);
|
||||
$response = $this->usersController->create('foo', 'password', array(), 'invalidMailAdress');
|
||||
$this->assertEquals($expectedResponse, $response);
|
||||
}
|
||||
|
||||
/**
|
||||
* test if a valid mail result in a successful mail send
|
||||
*/
|
||||
public function testCreateSuccessfulWithValidEMail() {
|
||||
/**
|
||||
* FIXME: Disabled due to missing DI on mail class.
|
||||
* TODO: Re-enable when https://github.com/owncloud/core/pull/12085 is merged.
|
||||
*/
|
||||
$this->markTestSkipped('Disable test until OC_Mail is rewritten.');
|
||||
|
||||
$this->container['Mail']
|
||||
->expects($this->once())
|
||||
->method('validateAddress')
|
||||
->will($this->returnValue(true));
|
||||
$this->container['Mail']
|
||||
->expects($this->once())
|
||||
->method('send')
|
||||
->with(
|
||||
$this->equalTo('validMail@Adre.ss'),
|
||||
$this->equalTo('foo'),
|
||||
$this->anything(),
|
||||
$this->anything(),
|
||||
$this->anything(),
|
||||
$this->equalTo('no-reply@owncloud.com'),
|
||||
$this->equalTo(1),
|
||||
$this->anything()
|
||||
);
|
||||
$this->container['Logger']
|
||||
->expects($this->never())
|
||||
->method('error');
|
||||
|
||||
$response = $this->usersController->create('foo', 'password', array(), 'validMail@Adre.ss');
|
||||
$this->assertEquals(Http::STATUS_CREATED, $response->getStatus());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue