Nova Packages
Setting up Passport
php artisan passport:keys
php 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/callback
as the Authorized Callback URL - Copy the GitHub app id and secret to
GITHUB_CLIENT_ID
andGITHUB_CLIENT_SECRET
in the.env
file - Create a new Personal Access Token with the
public_repo
scope enabled - Copy the token to
GITHUB_TOKEN
in the.env
file.
Setting up Slack Test Webhook
- Add the
SLACK_URL
variable to your.env
to 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