From a4c4dbf9085947ea9ff17fdac32718a84c41b928 Mon Sep 17 00:00:00 2001 From: SuperSimpleDev Date: Mon, 29 Apr 2024 23:40:38 -0400 Subject: [PATCH 01/10] 18a Solution --- 2-copy-of-code/lesson-18/lesson18.html | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 2-copy-of-code/lesson-18/lesson18.html diff --git a/2-copy-of-code/lesson-18/lesson18.html b/2-copy-of-code/lesson-18/lesson18.html new file mode 100644 index 0000000..eca5edb --- /dev/null +++ b/2-copy-of-code/lesson-18/lesson18.html @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file From 60dd9f7eb276f5523a2136f6f39aca760960bb11 Mon Sep 17 00:00:00 2001 From: SuperSimpleDev Date: Mon, 29 Apr 2024 23:42:48 -0400 Subject: [PATCH 02/10] 18b Solution --- 2-copy-of-code/lesson-18/lesson18.html | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/2-copy-of-code/lesson-18/lesson18.html b/2-copy-of-code/lesson-18/lesson18.html index eca5edb..7aaa340 100644 --- a/2-copy-of-code/lesson-18/lesson18.html +++ b/2-copy-of-code/lesson-18/lesson18.html @@ -1,6 +1,7 @@ \ No newline at end of file From 7238675e901d67360c71c10ac80e783214b8b498 Mon Sep 17 00:00:00 2001 From: SuperSimpleDev Date: Mon, 29 Apr 2024 23:49:41 -0400 Subject: [PATCH 03/10] 18c Solution --- 2-copy-of-code/lesson-18/lesson18.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/2-copy-of-code/lesson-18/lesson18.html b/2-copy-of-code/lesson-18/lesson18.html index 7aaa340..94c1e3b 100644 --- a/2-copy-of-code/lesson-18/lesson18.html +++ b/2-copy-of-code/lesson-18/lesson18.html @@ -12,6 +12,7 @@ xhr.send(); */ + /* fetch( 'https://supersimplebackend.dev/greeting' ).then((response) => { @@ -19,6 +20,14 @@ }).then((text) => { console.log(text); }); + */ + + async function getGreeting() { + const response = await fetch('https://supersimplebackend.dev/greeting'); + const text = await response.text(); + console.log(text); + } + getGreeting(); \ No newline at end of file From 8d2fcfe6cd632f2a20bb98fec90e25d2d0d02abe Mon Sep 17 00:00:00 2001 From: SuperSimpleDev Date: Tue, 30 Apr 2024 00:02:10 -0400 Subject: [PATCH 04/10] 18d Solution --- 2-copy-of-code/lesson-18/lesson18.html | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/2-copy-of-code/lesson-18/lesson18.html b/2-copy-of-code/lesson-18/lesson18.html index 94c1e3b..cd857df 100644 --- a/2-copy-of-code/lesson-18/lesson18.html +++ b/2-copy-of-code/lesson-18/lesson18.html @@ -22,12 +22,30 @@ }); */ + /* async function getGreeting() { const response = await fetch('https://supersimplebackend.dev/greeting'); const text = await response.text(); console.log(text); } getGreeting(); + */ + + async function postGreeting() { + const response = await fetch('https://supersimplebackend.dev/greeting', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + name: 'SuperSimpleDev' + }) + }); + + const text = await response.text(); + console.log(text); + } + postGreeting(); \ No newline at end of file From 8e4638724988fa683a8c331382286c9b8a507936 Mon Sep 17 00:00:00 2001 From: SuperSimpleDev Date: Tue, 30 Apr 2024 13:15:34 -0400 Subject: [PATCH 05/10] 18e Solution --- 2-copy-of-code/lesson-18/lesson18.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/2-copy-of-code/lesson-18/lesson18.html b/2-copy-of-code/lesson-18/lesson18.html index cd857df..1c1c350 100644 --- a/2-copy-of-code/lesson-18/lesson18.html +++ b/2-copy-of-code/lesson-18/lesson18.html @@ -31,6 +31,7 @@ getGreeting(); */ + /* async function postGreeting() { const response = await fetch('https://supersimplebackend.dev/greeting', { method: 'POST', @@ -46,6 +47,14 @@ console.log(text); } postGreeting(); + */ + + async function getAmazon() { + const response = await fetch('https://amazon.com'); + const text = await response.text(); + console.log(text); + } + getAmazon(); \ No newline at end of file From b5b5ed613fedb3674651e4c87e8b76a4c34620b9 Mon Sep 17 00:00:00 2001 From: SuperSimpleDev Date: Tue, 30 Apr 2024 13:20:09 -0400 Subject: [PATCH 06/10] 18f Solution --- 2-copy-of-code/lesson-18/lesson18.html | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/2-copy-of-code/lesson-18/lesson18.html b/2-copy-of-code/lesson-18/lesson18.html index 1c1c350..b60a730 100644 --- a/2-copy-of-code/lesson-18/lesson18.html +++ b/2-copy-of-code/lesson-18/lesson18.html @@ -50,9 +50,14 @@ */ async function getAmazon() { - const response = await fetch('https://amazon.com'); - const text = await response.text(); - console.log(text); + try { + const response = await fetch('https://amazon.com'); + const text = await response.text(); + console.log(text); + + } catch (error) { + console.log('CORS error. You request was blocked by the backend.'); + } } getAmazon(); From 28fe86fc1e4b974ac5421c299472b7a70c7a9dd9 Mon Sep 17 00:00:00 2001 From: SuperSimpleDev Date: Tue, 30 Apr 2024 13:57:58 -0400 Subject: [PATCH 07/10] 18g Solution --- 2-copy-of-code/lesson-18/lesson18.html | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/2-copy-of-code/lesson-18/lesson18.html b/2-copy-of-code/lesson-18/lesson18.html index b60a730..368e57f 100644 --- a/2-copy-of-code/lesson-18/lesson18.html +++ b/2-copy-of-code/lesson-18/lesson18.html @@ -49,6 +49,7 @@ postGreeting(); */ + /* async function getAmazon() { try { const response = await fetch('https://amazon.com'); @@ -60,6 +61,34 @@ } } getAmazon(); + */ + + async function postGreeting() { + try { + const response = await fetch('https://supersimplebackend.dev/greeting', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + } + }); + + if (response.status >= 400) { + throw response; + } + + const text = await response.text(); + console.log(text); + + } catch (error) { + if (error.status === 400) { + const errorMessage = await error.json(); + console.log(errorMessage); + } else { + console.log('Network error. Please try again later.'); + } + } + } + postGreeting(); \ No newline at end of file From 55366d6ef25fc7b42de7b7e1e27c8e4bbfde468d Mon Sep 17 00:00:00 2001 From: SuperSimpleDev Date: Tue, 30 Apr 2024 14:17:01 -0400 Subject: [PATCH 08/10] 18h Solution --- 2-copy-of-code/lesson-18/data/cart.js | 7 +++++++ 2-copy-of-code/lesson-18/scripts/checkout.js | 11 ++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/2-copy-of-code/lesson-18/data/cart.js b/2-copy-of-code/lesson-18/data/cart.js index 6222435..55a609e 100644 --- a/2-copy-of-code/lesson-18/data/cart.js +++ b/2-copy-of-code/lesson-18/data/cart.js @@ -82,4 +82,11 @@ export function loadCart(fun) { xhr.open('GET', 'https://supersimplebackend.dev/cart'); xhr.send(); +} + +export async function loadCartFetch() { + const response = await fetch('https://supersimplebackend.dev/cart'); + const text = await response.text(); + console.log(text); + return text; } \ No newline at end of file diff --git a/2-copy-of-code/lesson-18/scripts/checkout.js b/2-copy-of-code/lesson-18/scripts/checkout.js index e743580..868eeec 100644 --- a/2-copy-of-code/lesson-18/scripts/checkout.js +++ b/2-copy-of-code/lesson-18/scripts/checkout.js @@ -1,7 +1,7 @@ import {renderOrderSummary} from './checkout/orderSummary.js'; import {renderPaymentSummary} from './checkout/paymentSummary.js'; import {loadProducts, loadProductsFetch} from '../data/products.js'; -import {loadCart} from '../data/cart.js'; +import {loadCart, loadCartFetch} from '../data/cart.js'; // import '../data/cart-class.js'; // import '../data/backend-practice.js'; @@ -10,14 +10,7 @@ async function loadPage() { // throw 'error1'; await loadProductsFetch(); - - const value = await new Promise((resolve, reject) => { - // throw 'error2'; - loadCart(() => { - // reject('error3'); - resolve('value3'); - }); - }); + await loadCartFetch(); } catch (error) { console.log('Unexpected error. Please try again later.'); From 5a561854f458125d5b4c08be81ea3a954df8f4e3 Mon Sep 17 00:00:00 2001 From: SuperSimpleDev Date: Tue, 30 Apr 2024 18:03:16 -0400 Subject: [PATCH 09/10] 18i Solution --- 2-copy-of-code/lesson-18/scripts/checkout.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/2-copy-of-code/lesson-18/scripts/checkout.js b/2-copy-of-code/lesson-18/scripts/checkout.js index 868eeec..b157b4c 100644 --- a/2-copy-of-code/lesson-18/scripts/checkout.js +++ b/2-copy-of-code/lesson-18/scripts/checkout.js @@ -9,8 +9,10 @@ async function loadPage() { try { // throw 'error1'; - await loadProductsFetch(); - await loadCartFetch(); + await Promise.all([ + loadProductsFetch(), + loadCartFetch() + ]); } catch (error) { console.log('Unexpected error. Please try again later.'); From 131d91b63598220ca144652a66e74ad403c3c91b Mon Sep 17 00:00:00 2001 From: SuperSimpleDev Date: Tue, 30 Apr 2024 19:33:34 -0400 Subject: [PATCH 10/10] 18j Solution --- 2-copy-of-code/lesson-18/tests/checkout/orderSummaryTest.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/2-copy-of-code/lesson-18/tests/checkout/orderSummaryTest.js b/2-copy-of-code/lesson-18/tests/checkout/orderSummaryTest.js index 293b6e2..06c6c1b 100644 --- a/2-copy-of-code/lesson-18/tests/checkout/orderSummaryTest.js +++ b/2-copy-of-code/lesson-18/tests/checkout/orderSummaryTest.js @@ -6,10 +6,8 @@ describe('test suite: renderOrderSummary', () => { const productId1 = 'e43638ce-6aa0-4b85-b27f-e1d07eb678c6'; const productId2 = '15b6fc6f-327a-4ec4-896f-486349e85a3d'; - beforeAll((done) => { - loadProductsFetch().then(() => { - done(); - }); + beforeAll(async () => { + await loadProductsFetch(); }); beforeEach(() => {