public function testGetVersionAvailable()
 {
     $instance = new UpdateAvailable($this->versionAvailable);
     $this->assertSame($this->versionAvailable, $instance->getVersionAvailable());
     $this->assertStringStartsWith('v', $instance->getVersionAvailable('v'));
     $this->assertStringEndsWith('version', $instance->getVersionAvailable('', 'version'));
 }
 /**
  * Handle the event.
  *
  * @param UpdateAvailable $event
  */
 public function handle(UpdateAvailable $event)
 {
     if (config('self-update.log_events')) {
         $this->logger->addInfo('[' . $event->getEventName() . '] event: Notification triggered.');
     }
     $sendToAddress = config('self-update.mail_to.address');
     $sendToName = config('self-update.mail_to.name');
     $subject = config('self-update.mail_to.subject_update_available');
     if (empty($sendToAddress)) {
         $this->logger->addCritical('[' . $event->getEventName() . '] event: ' . 'Missing recipient email address. Please set SELF_UPDATER_MAILTO_ADDRESS in your .env file.');
     }
     if (empty($sendToName)) {
         $this->logger->addWarning('[' . $event->getEventName() . '] event: ' . 'Missing recipient email name. Please set SELF_UPDATER_MAILTO_NAME in your .env file.');
     }
     $this->mailer->send('vendor.self-update.mails.update-available', ['newVersion' => $event->getVersionAvailable()], function ($m) use($subject, $sendToAddress, $sendToName) {
         $m->subject($subject);
         $m->from(config('mail.from.address'), config('mail.from.name'));
         $m->to($sendToAddress, $sendToName);
     });
 }