novapackages
novapackages copied to clipboard

Nova Packages
Setting up Passport
php artisan passport:keysphp artisan passport:client --personal
Setting up Scout
- Make a new Algolia app
- From your Algolia app, copy the Admin API key and ID into your
.env. If you see a "Not enough rights to update an object near line:1" error when seeding your database, you're using the Search-Only key—swap it out for the Admin key. - In your Algolia app, create a new index called "packages".
- After seeding your database, run
php artisan scout:import "App\Package"
Seeding the Database
php artisan db:seed
Setting up GitHub Authentication
- Make a new GitHub OAuth application
- Set
http://novapackages.test/login/github/callbackas the Authorized Callback URL - Copy the GitHub app id and secret to
GITHUB_CLIENT_IDandGITHUB_CLIENT_SECRETin the.envfile - Create a new Personal Access Token with the
public_reposcope enabled - Copy the token to
GITHUB_TOKENin the.envfile.
Setting up Slack Test Webhook
- Add the
SLACK_URLvariable to your.envto post to a Slack channel of your choosing.
Note: This webhook is hit when certain events are fired. If you are not testing this webhook specifically, you may want to consider commenting it out to avoid sending unnecessary Slack notifications.
Setting up the Filesystem for Screenshots
- Run
php artisan storage:link
Testing
Some of the tests in this suite depend on an active internet connection, and will run by default. tests/Feature/RepoTest.php provides coverage for the ReadMe import feature, and tests/Feature/CheckPackageUrlsCommandTest.php provides coverage for the command that periodically validates package urls.
For convenience, these tests have been added to the integration group. If you would like to exlude these tests from running, you may do so by using phpunit's --exclude-group option:
phpunit --exclude-group=integration