Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split tests #88

Merged
merged 3 commits into from
Feb 1, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,6 @@ This section explain how metrics is structured.
* `fonts.css` contains additional fonts used to render metrics
* `template.mjs` contains template source code
* `tests/` contains tests
* `testscases.js` contains tests case
* `metrics.test.js` contains metrics testers
* `Dockerfile` contains docker instructions used to build metrics image
* `package.json` contains dependencies and command line aliases
Expand Down Expand Up @@ -576,7 +575,7 @@ json:

Creating tests for your plugin ensure that external changes don't break it.

You can define your tests cases in [`testscases.js`](/tests/testscases.js), which will automatically test your plugin with:
You can define your tests cases in `tests.yml` in your plugin directory, which will automatically test your plugin with:
- Metrics action
- Metrics web instance
- Metrics web instance placeholder (rendered by browser)
Expand Down
5 changes: 5 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,10 @@
"devDependencies": {
"jest": "^26.6.3",
"libxmljs": "^0.19.7"
},
"jest": {
"testEnvironment":"node",
"testTimeout":60000,
"transform":{}
}
}
21 changes: 21 additions & 0 deletions source/plugins/activity/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
- name: Activity plugin (default)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_activity: yes

- name: Activity plugin (filtered)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_activity: yes
plugin_activity_filter: pr, issue

- name: Activity plugin (complete)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_activity: yes
plugin_activity_limit: 100
plugin_activity_days: 14
plugin_activity_filter: all
60 changes: 60 additions & 0 deletions source/plugins/anilist/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
- name: Anilist plugin (default)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_anilist: yes

- name: Anilist plugin (manga only)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_anilist: yes
plugin_anilist_medias: manga

- name: Anilist plugin (anime only)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_anilist: yes
plugin_anilist_medias: anime

- name: Anilist plugin (favorites section)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_anilist: yes
plugin_anilist_sections: favorites

- name: Anilist plugin (watching/reading section)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_anilist: yes
plugin_anilist_sections: watching, reading

- name: Anilist plugin (characters section)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_anilist: yes
plugin_anilist_sections: characters

- name: Anilist plugin (additional options)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_anilist: yes
plugin_anilist_limit: 0
plugin_anilist_shuffle: no
plugin_anilist_user: user

- name: Anilist plugin (complete)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_anilist: yes
plugin_anilist_medias: manga, anime
plugin_anilist_sections: favorites, watching, reading, characters
plugin_anilist_limit: 0
plugin_anilist_shuffle: no
plugin_anilist_user: user
45 changes: 45 additions & 0 deletions source/plugins/base/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
- name: Base (header)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
base: header
base_header: yes # For web instance

- name: Base (activity)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
base: activity
base_activity: yes # For web instance

- name: Base (community)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
base: community
base_community: yes # For web instance

- name: Base (repositories)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
base: repositories
base_repositories: yes # For web instance

- name: Base (metadata)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
base: metadata
base_metadata: yes # For web instance

- name: Base (complete)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
base: header, activity, community, repositories, metadata
base_header: yes # For web instance
base_activity: yes # For web instance
base_community: yes # For web instance
base_repositories: yes # For web instance
base_metadata: yes # For web instance
26 changes: 26 additions & 0 deletions source/plugins/core/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
- name: Image output (jpeg)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
config_output: jpeg

- name: Image output (png)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
config_output: png

- name: Disable animations
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
config_animations: no

- name: Community templates
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
template: "@classic"
setup_community_templates: "lowlighter/metrics@master:classic"
modes:
- action
5 changes: 5 additions & 0 deletions source/plugins/followup/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- name: Follow-up plugin (default)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_followup: yes
5 changes: 5 additions & 0 deletions source/plugins/gists/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- name: Gists plugin (default)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_gists: yes
30 changes: 30 additions & 0 deletions source/plugins/habits/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
- name: Habits plugin (default)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_habits: yes

- name: Habits plugin (charts)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_habits: yes
plugin_habits_facts: no
plugin_habits_charts: yes
config_timezone: Europe/Paris

- name: Habits plugin (facts)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_habits: yes
plugin_habits_facts: yes

- name: Habits plugin (complete)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_habits: yes
plugin_habits_facts: yes
plugin_habits_charts: yes
config_timezone: Europe/Paris
20 changes: 20 additions & 0 deletions source/plugins/isocalendar/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
- name: Isocalendar plugin (default)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_isocalendar: yes

- name: Isocalendar plugin (half-year)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_isocalendar: yes
plugin_isocalendar_duration: half-year


- name: Isocalendar plugin (full-year)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_isocalendar: yes
plugin_isocalendar_duration: full-year
44 changes: 44 additions & 0 deletions source/plugins/languages/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
- name: Language plugin (default)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_languages: yes

- name: Language plugin (ignored languages)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_languages: yes
plugin_languages_ignored: html, css, dockerfile


- name: Language plugin (skipped repositories)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_languages: yes
plugin_languages_skipped: metrics

- name: Language plugin (custom color set)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_languages: yes
plugin_languages_colors: complementary

- name: Language plugin (with details)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_languages: yes
plugin_languages_details: percentage

- name: Language plugin (complete)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_languages: yes
plugin_languages_ignored: html, css, dockerfile
plugin_languages_skipped: metrics
plugin_languages_colors: rainbow
plugin_languages_details: bytes-size, percentage
7 changes: 7 additions & 0 deletions source/plugins/lines/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
- name: Lines plugin (default)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
base: repositories
plugin_lines: yes

30 changes: 30 additions & 0 deletions source/plugins/music/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
- name: Music plugin (playlist - apple)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_music: yes
plugin_music_playlist: https://embed.music.apple.com/fr/playlist/usr-share/pl.u-V9D7m8Etjmjd0D

- name: Music plugin (playlist - spotify)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_music: yes
plugin_music_playlist: https://open.spotify.com/embed/playlist/3nfA87oeJw4LFVcUDjRcqi

- name: Music plugin (recent - spotify)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_music_token: MOCKED_CLIENT_ID, MOCKED_CLIENT_SECRET, MOCKED_REFRESH_TOKEN
plugin_music: yes
plugin_music_provider: spotify

- name: Music plugin (recent - lastfm)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_music_token: MOCKED_TOKEN
plugin_music: yes
plugin_music_provider: lastfm
plugin_music_user: RJ
39 changes: 39 additions & 0 deletions source/plugins/pagespeed/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
- name: PageSpeed plugin (default)
uses: lowlighter/metrics@latest
with:
token: MOCKED_TOKEN
plugin_pagespeed_token: MOCKED_TOKEN
plugin_pagespeed: yes

- name: PageSpeed plugin (different url)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_pagespeed_token: MOCKED_TOKEN
plugin_pagespeed: yes
plugin_pagespeed_url: github.com

- name: PageSpeed plugin (detailed)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_pagespeed_token: MOCKED_TOKEN
plugin_pagespeed: yes
plugin_pagespeed_detailed: yes

- name: PageSpeed plugin (screenshot)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_pagespeed_token: MOCKED_TOKEN
plugin_pagespeed: yes
plugin_pagespeed_screenshot: yes

- name: PageSpeed plugin (complete)
uses: lowlighter/metrics@latest
with:
token: NOT_NEEDED
plugin_pagespeed_token: MOCKED_TOKEN
plugin_pagespeed: yes
plugin_pagespeed_detailed: yes
plugin_pagespeed_screenshot: yes
Loading