From 8fb62f47e07224a5dd56a33e5ea2a79952e2af8a Mon Sep 17 00:00:00 2001 From: Oksana Rubel Date: Thu, 12 Mar 2026 14:13:11 +0200 Subject: [PATCH 1/3] Solution --- src/scripts/main.js | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index c6e3f878..2da07d8d 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1,3 +1,35 @@ 'use strict'; +/* eslint-disable prefer-promise-reject-errors */ -// write your code here +const logo = document.querySelector('.logo'); +const body = document.querySelector('body'); + +const promise1 = new Promise((resolve, reject) => { + logo.addEventListener('click', () => { + resolve(); + }); +}); + +promise1.then(() => { + const div = document.createElement('div'); + + div.classList.add('message'); + div.textContent = 'Promise was resolved!'; + body.append(div); +}); + +const promise2 = new Promise((resolve, reject) => { + setTimeout(() => { + reject(); + }, 3000); +}); + +promise2 + .then(() => {}) + .catch(() => { + const div = document.createElement('div'); + + div.classList.add('message', 'error-message'); + div.textContent = 'Promise was rejected!'; + body.append(div); + }); From 5b4081c4977734789f9ec4130ab1d4e225706882 Mon Sep 17 00:00:00 2001 From: Oksana Rubel Date: Thu, 12 Mar 2026 14:13:30 +0200 Subject: [PATCH 2/3] Update --- .github/workflows/test.yml-template | 29 +++++++++++++++++++++++++++++ README.md | 2 +- package-lock.json | 9 +++++---- package.json | 3 +-- 4 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/test.yml-template diff --git a/.github/workflows/test.yml-template b/.github/workflows/test.yml-template new file mode 100644 index 00000000..44ac4e96 --- /dev/null +++ b/.github/workflows/test.yml-template @@ -0,0 +1,29 @@ +name: Test + +on: + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [20.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: npm install + - run: npm start & sleep 5 && npm test + - name: Upload tests report(cypress mochaawesome merged HTML report) + if: ${{ always() }} + uses: actions/upload-artifact@v2 + with: + name: report + path: reports diff --git a/README.md b/README.md index 1395a36c..1c8026c3 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Create 2 promises `promise1` and `promise2`. ## Instructions 1. Replace `` with your Github username in the link - - [DEMO LINK](https://.github.io/js_promise_basic_DOM/) + - [DEMO LINK](https://Oksana-24.github.io/js_promise_basic_DOM/) 2. Follow [this instructions](https://mate-academy.github.io/layout_task-guideline/) - Run `npm run test` command to test your code; - Run `npm run test:only -- -n` to run fast test ignoring linter; diff --git a/package-lock.json b/package-lock.json index 695152e8..d24e198f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@mate-academy/eslint-config": "latest", "@mate-academy/jest-mochawesome-reporter": "^1.0.0", "@mate-academy/linthtml-config": "latest", - "@mate-academy/scripts": "^1.8.5", + "@mate-academy/scripts": "^2.1.3", "@mate-academy/stylelint-config": "latest", "@parcel/transformer-sass": "^2.12.0", "cypress": "^13.13.0", @@ -1467,10 +1467,11 @@ "dev": true }, "node_modules/@mate-academy/scripts": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@mate-academy/scripts/-/scripts-1.8.6.tgz", - "integrity": "sha512-b4om/whj4G9emyi84ORE3FRZzCRwRIesr8tJHXa8EvJdOaAPDpzcJ8A0sFfMsWH9NUOVmOwkBtOXDu5eZZ00Ig==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@mate-academy/scripts/-/scripts-2.1.3.tgz", + "integrity": "sha512-a07wHTj/1QUK2Aac5zHad+sGw4rIvcNl5lJmJpAD7OxeSbnCdyI6RXUHwXhjF5MaVo9YHrJ0xVahyERS2IIyBQ==", "dev": true, + "license": "MIT", "dependencies": { "@octokit/rest": "^17.11.2", "@types/get-port": "^4.2.0", diff --git a/package.json b/package.json index 6921b8a3..6ca96c7b 100644 --- a/package.json +++ b/package.json @@ -18,13 +18,12 @@ "postinstall": "npm run update", "test": "npm run lint && npm run test:only" }, - "dependencies": {}, "devDependencies": { "@linthtml/linthtml": "^0.9.6", "@mate-academy/eslint-config": "latest", "@mate-academy/jest-mochawesome-reporter": "^1.0.0", "@mate-academy/linthtml-config": "latest", - "@mate-academy/scripts": "^1.8.5", + "@mate-academy/scripts": "^2.1.3", "@mate-academy/stylelint-config": "latest", "@parcel/transformer-sass": "^2.12.0", "cypress": "^13.13.0", From 4e85ca97d109fc9ec54c239b9994155c1ee01916 Mon Sep 17 00:00:00 2001 From: Oksana Rubel Date: Thu, 12 Mar 2026 14:19:06 +0200 Subject: [PATCH 3/3] Update --- src/scripts/main.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index 2da07d8d..e7979cd4 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -10,13 +10,15 @@ const promise1 = new Promise((resolve, reject) => { }); }); -promise1.then(() => { - const div = document.createElement('div'); +promise1 + .then(() => { + const div = document.createElement('div'); - div.classList.add('message'); - div.textContent = 'Promise was resolved!'; - body.append(div); -}); + div.classList.add('message'); + div.textContent = 'Promise was resolved!'; + body.append(div); + }) + .catch(() => {}); const promise2 = new Promise((resolve, reject) => { setTimeout(() => {