/** @test */ public function should_request_and_return_new_reminder() { $this->users->shouldReceive('userOfEmail')->andReturn($this->user); $this->reminders->shouldReceive('deleteExistingRemindersForEmail'); $this->reminders->shouldReceive('nextIdentity')->andReturn(ReminderId::generate()); $this->reminders->shouldReceive('add'); $reminder = $this->service->request('*****@*****.**'); $this->assertInstanceOf('Cribbb\\Domain\\Model\\Identity\\Reminder', $reminder); }
/** * Request a new password reminder * * @param string $email * @return Reminder */ public function request($email) { if ($this->validate($email)) { try { $reminder = $this->service->request($email); /* Dispatch Domain Events */ return $reminder; } catch (ValueNotFoundException $e) { $this->errors()->add('email', $e->getMessage()); } } }