-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
27 lines (27 loc) · 8.65 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>check-group</title><meta name="description" content="Documentation for check-group"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">check-group</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h2>check-group</h2></div><div class="tsd-panel tsd-typography"><a id="md:dev-docs" class="tsd-anchor"></a><h1><a href="#md:dev-docs">Dev Docs</a></h1><p>TODO(@tianhaoz95): finalize the sections on this page.</p>
<a id="md:overview" class="tsd-anchor"></a><h2><a href="#md:overview">Overview</a></h2><p>TODO(@tianhaoz95): add the overall structure of the app.</p>
<a id="md:environment" class="tsd-anchor"></a><h2><a href="#md:environment">Environment</a></h2><p>The recommended way of developing the app is with the Visual Studio Code remote
container.</p>
<p>TODO(@tianhaoz95): add detailed instructions.</p>
<a id="md:testing" class="tsd-anchor"></a><h2><a href="#md:testing">Testing</a></h2><a id="md:unit-tests-and-integration-tests" class="tsd-anchor"></a><h3><a href="#md:unit-tests-and-integration-tests">Unit tests and integration tests</a></h3><p>Both unit tests and integration tests run with the following command:</p>
<pre><code class="language-bash"><span class="hl-0">npm</span><span class="hl-1"> </span><span class="hl-2">test</span>
</code><button>Copy</button></pre>
<a id="md:unit-tests" class="tsd-anchor"></a><h4><a href="#md:unit-tests">Unit tests</a></h4><p>Unit tests only applies to the implementations within <code>src/utils</code> which does not
rely on mocked GitHub API response for testing.</p>
<p>Since setting up <code>nock</code> for GitHub APIs is a complicated process and there is
not many benefits in testing those utility functions with a mocked endpoint, a
cut was made to test those implementations separately.</p>
<p>The unit tests locate with the files that they are testing, for example, the
unit tests for <code>src/utils/generate_progress.ts</code> will be in
<code>src/utils/generate_progress.test.ts</code>.</p>
<a id="md:integration-tests" class="tsd-anchor"></a><h4><a href="#md:integration-tests">Integration tests</a></h4><p>The integration tests will mock the end to end flow with mocked triggering
GitHub events and mocked GitHub API responses.</p>
<p>The integration tests are close to the actual behavior of the app except that it
will not be able to test how robust the app is when the GitHub API is flaky or
what happens when there is too much traffic.</p>
<p>The integrations tests are in the top level <code>test</code> folder.</p>
<a id="md:e2e-testing" class="tsd-anchor"></a><h3><a href="#md:e2e-testing">E2E testing</a></h3><p>For now, the best way to do end to end testing is to create a testing repository
and a test GitHub app which will be installed into the testing repository.</p>
<p>TODO(@tianhaoz95): add detailed instructions on how to create the testing setup.</p>
<a id="md:deployment" class="tsd-anchor"></a><h2><a href="#md:deployment">Deployment</a></h2><p>TODO(@tianhaoz95): add details on how deployment works.</p>
</div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-index-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#md:dev-docs"><span>Dev <wbr/>Docs</span></a><ul><li><a href="#md:overview"><span>Overview</span></a></li><li><a href="#md:environment"><span>Environment</span></a></li><li><a href="#md:testing"><span>Testing</span></a></li><li><ul><li><a href="#md:unit-tests-and-integration-tests"><span>Unit tests and integration tests</span></a></li><li><ul><li><a href="#md:unit-tests"><span>Unit tests</span></a></li><li><a href="#md:integration-tests"><span>Integration tests</span></a></li></ul></li><li><a href="#md:e2e-testing"><span>E2<wbr/>E testing</span></a></li></ul></li><li><a href="#md:deployment"><span>Deployment</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="index.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-1"></use></svg><span>check-group</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base="."><li>Loading...</li></ul></nav></div></div></div><div class="tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div></body></html>