Auto deploy from Github Actions

This commit is contained in:
mahula 2025-11-29 07:38:33 +00:00
commit 6a86dfac7d
17 changed files with 217 additions and 0 deletions

41
404.html Normal file

File diff suppressed because one or more lines are too long

53
LICENSE.html Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as o,b as n,o as r}from"./app-C0vivGk8.js";const a={};function l(s,t){return r(),o("div",null,[...t[0]||(t[0]=[n("p",null,"404 Not Found",-1)])])}const m=e(a,[["render",l]]),d=JSON.parse('{"path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound"},"git":{},"readingTime":{"minutes":0.01,"words":3},"filePathRelative":null}');export{m as comp,d as data};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

31
assets/app-C0vivGk8.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,7 @@
import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as i,a as t,o as a}from"./app-C0vivGk8.js";const n={};function r(l,e){return a(),i("div",null,[...e[0]||(e[0]=[t(`<h1 id="boilerplate-e2e-cypress-cucumber" tabindex="-1"><a class="header-anchor" href="#boilerplate-e2e-cypress-cucumber"><span>boilerplate-e2e-cypress-cucumber</span></a></h1><p>IT4C Boilerplate for End-to-End Testing with Cypress utilizing:</p><ul><li><a href="https://github.com/marketplace/actions/cypress-io" target="_blank" rel="noopener noreferrer">cypress-io/github-action</a> caching the Cypress installation and dependencies for fast Cypress CI initialisation</li><li><a href="https://cucumber.io/docs/gherkin/reference/" target="_blank" rel="noopener noreferrer">Cucumber</a> for human-readable test specifications</li><li><a href="https://github.com/WasiqB/multiple-cucumber-html-reporter/tree/main" target="_blank" rel="noopener noreferrer">Multiple Cucumber HTML Reporter</a> to create easy readable, and searchable HTML reports enriched with metadata</li></ul><h2 id="requirements-and-commands" tabindex="-1"><a class="header-anchor" href="#requirements-and-commands"><span>Requirements and Commands</span></a></h2><p>Building this project requires <code>nodejs</code> (<code>&gt;= v20</code>) and <code>npm</code>.</p><h3 id="commands" tabindex="-1"><a class="header-anchor" href="#commands"><span>Commands</span></a></h3><table><thead><tr><th>Command</th><th>Description</th></tr></thead><tbody><tr><td><strong>Installation</strong></td><td></td></tr><tr><td><code>npm install</code></td><td>Project setup</td></tr><tr><td><strong>Linting</strong></td><td></td></tr><tr><td><code>npm run test:lint:eslint</code></td><td>Run Eslint linter</td></tr><tr><td><strong>Run Cypress</strong></td><td></td></tr><tr><td><code>npm run cypress:open</code></td><td>Open Cypress GUI</td></tr><tr><td><code>npm run cypress:run</code></td><td>Run all Cypress tests headless in CLI</td></tr><tr><td><strong>Documentation</strong></td><td></td></tr><tr><td><code>npm run docs:dev</code></td><td>Run documentation locally in development mode</td></tr><tr><td><code>npm run docs:build</code></td><td>Build static documentation</td></tr><tr><td><strong>Maintenance</strong></td><td></td></tr><tr><td><code>npm run update</code></td><td>Check for updates</td></tr></tbody></table><h3 id="update" tabindex="-1"><a class="header-anchor" href="#update"><span>Update</span></a></h3><p>Retrieve a list of updatable packages by running <code>npm run update</code>.</p><p>Appending <code>-u </code> will also update the packages in the <code>package.json</code>. Afterwards run <code>npm install</code>.</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">npm</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> run</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> update</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -u</span></span>
<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">npm</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> install</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="test-examples" tabindex="-1"><a class="header-anchor" href="#test-examples"><span>Test Examples</span></a></h2><p>To showcase Cucumber feature tests, a simple login example on <a href="https://the-internet.herokuapp.com/" target="_blank" rel="noopener noreferrer">the-internet</a> is written in the feature file <a href="./cypress/e2e/features/Login.feature">Login.feature</a>.<br> The <code>baseUrl</code> is set in <a href="https://github.com/IT4Change/boilerplate-e2e-cypress-cucumber/blob/8306614812c1011642c75ae34057ca66784cae4f/cypress.config.ts#L25" target="_blank" rel="noopener noreferrer">cypress.config.ts</a> and the test steps are defined in <a href="./cypress/e2e/ssteps/login.ts">this step definition file</a>.</p><p>Testing against the demo website <a href="https://the-internet.herokuapp.com/" target="_blank" rel="noopener noreferrer">the-internet</a> was chosen from the test practice recommendations of https://www.davidmello.com/best-websites-for-practicing-test-automation/.</p><h2 id="how-to-use-as-part-of-a-project" tabindex="-1"><a class="header-anchor" href="#how-to-use-as-part-of-a-project"><span>How to use as part of a project</span></a></h2><p>If you want to use this template as part of a larger project, e.g. in conjunction with a frontend also utilizing a boilerplate you cannot use the template mechanic provided by github for this repository.</p><p>You can use the following commands to include the whole git history of the boilerplate and be able to update according to changes to this repo using another remote.</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> remote</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> add</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> xxx_boilerplate-e2e-cypress-cucumber</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> git@github.com:IT4Change/boilerplate-backend.git</span></span>
<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> fetch</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> xxx_boilerplate-e2e-cypress-cucumber</span></span>
<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> merge</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -s</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> ours</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --no-commit</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --allow-unrelated-histories</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> xxx_boilerplate-e2e-cypress-cucumber/master</span></span>
<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> read-tree</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --prefix=xxx/</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -u</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> xxx_boilerplate-e2e-cypress-cucumber/master</span></span>
<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> commit</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -m</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> &quot;Imported boilerplate-e2e-cypress-cucumber as a subtree under xxx/.&quot;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>To update the subtree you can use</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> subtree</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> pull</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -P</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> xxx/</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> xxx_boilerplate-e2e-cypress-cucumber</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> master</span></span>
<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> commit</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -m</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> &quot;Updated boilerplate-e2e-cypress-cucumber in subtree under xxx/.&quot;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>Where <code>xxx</code> refers to the folder and product part you want to use the boilerplate in (e.g. <code>cypress</code> or <code>e2e-tests</code>).</p><p>This mechanic was taken from this <a href="https://stackoverflow.com/questions/1683531/how-to-import-existing-git-repository-into-another/8396318#8396318" target="_blank" rel="noopener noreferrer">source</a></p><h2 id="license" tabindex="-1"><a class="header-anchor" href="#license"><span>License</span></a></h2><p><a href="./LICENSE">Apache 2.0</a></p>`,24)])])}const p=s(n,[["render",r]]),o=JSON.parse('{"path":"/","title":"boilerplate-e2e-cypress-cucumber","lang":"en-US","frontmatter":{},"git":{},"readingTime":{"minutes":1.48,"words":443},"filePathRelative":"README.md"}');export{p as comp,o as data};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _};

File diff suppressed because one or more lines are too long

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

47
index.html Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

17
slimsearch.worker.js Normal file

File diff suppressed because one or more lines are too long