[0:00]فيديو النهارده ان شاء الله هنشوف ازاي نقدر نعمل تيستنج لاسينكروناس كود وكمان هنبدا نتعرف على الكونسيبت بتاع الموكينج او الفيكينج فيلا بينا نبدا.
[0:19]عشان اقدر اعمل تيستنج لاسينكروناس كود فخلونا في البداية نكتب اسينكروناس فانكشن عندنا ونشوف ازاي هنقدر نعمل تيستنج للاسينكروناس كود ده. فإحنا دلوقتي عايزين نشوف إزاي بنتيست الأسينكروناس كود فتعالوا نفترض إن إحنا عندنا فانكشن إسمها getOrders مثلاً. فانكشن بترجعلي ليست أوف أوردرز بس إحنا عايزين نقدر نشوف إزاي نقدر نتيست الأسينكروناس كود ده فهنقول إن الفانكشن دي بترجع بروميس. الفانكشن دي هي أسينكروناس فانكشن فمعنى كده إن هي بترجعلي إيه بروميس فخلونا فور سيمبليسيتي نقول إن هي بس بترجع أراي أوف أوردرز فأوردر وان الأيدي بتاعه واحد البرايس بتاعه مثلاً عشرة. وتعالوا ندوبليكيت الأوبجيكت ده أيدي تو وبرايس عشرين مثلاً. فـا تعالوا ناكسبورت الفانكشن دي ونشوف هنقدر نعملها تيستنج إزاي فـأنا هروح هنا هايمبورت الفانكشن getOrders وزي ما إتعودنا بعمل ديسكرايب بلوك عشان أخلي التيست كيسيز بتاعتي تبقى منظمة أكتر عايز أتيست الجيت أوردرز وهنا أبدأ أحط التيست كيسيز بتاعتي فأنا مثلاً هقول إن أنا عايز أتيست إن الفانكشن دي شاد ريتيرن سام أوردرز تمام. ونبدأ نكتب التيست كيسيز بتاعتنا فخلونا في البداية إحنا عارفين إن الفانكشن اللي إسمها getOrders دي هي بترجعلك ليست أوف أوردرز. فخلونا نعمل لوج للريزالت اللي راجعة كده ونشوف هي بترجع إيه فـا هي هترجع أوردرز تعالوا نكول الفانكشن وتعالوا نعمل لوج للأوردرز اللي راجعالي. تمام.
[2:17]ده اللوج بتاع الحاجة اللي رجعت من الفانكشن زي ما إحنا شايفين الفانكشن بترجع بروميس ليه لإن إحنا عارفين إن الفانكشن دي هي أسينكروناس فانكشن فهي بترجعلك بروميس وإنت المفروض تبدأ تـ أويت البروميس ده عشان تاخد الريزالت اللي راجعة من الفانكشن دي حلو إزاي أقدر أتيست الأسينكروناس كود ده. إحنا كنا قبل كده عشان نتيست أسينكروناس كود كنا بنيجي هنا أهو بنبعت للفانكشن بتاعة التيست دي ذات نفسها كول باك فانكشن إسمها دن وبعد ما بنعمل التيست كيس بتاعتنا بنروح الكول نعمل كول للكول باك فانكشن دي. بس الموضوع ده مكانش أظرف حاجة فحاياً جيست بكل بساطة هي بتسبورت الأسينكروناس كود أوت أوف ذا بوكس. فإنت كل اللي إنت محتاجه إنت عارف إن الجيت أوردرز دي لما عملنا لوج للحاجة اللي راجعة من هنا دي راجعيلي بروميس. فأنا لو جيت أعمل أي تيست على الأوردرز حالياً مش هقدر لإن أنا معايا بروميس لسه ما حصلوش فولفيلمنت. فـأنا عشان أقدر أكت الريزالت بتاعة الأسينكروناس فانكشن دي بكل بساطة أقدر أجي هنا وأكتب أويت الريزالت اللي راجعة من الفانكشن دي. وطبعاً عشان أقدر أستخدم أويت فلازم الفانكشن بتاعتي تبقى أسينكروناس فانكشن بس كده. فـا بكل بساطة حالياً لو إنت عايز تتيست أسينكروناس كود تقدر تستخدم أسينك أويت جوا التيست كيس بتاعتك عادي جداً. حلو طيب أنا خلاص دلوقتي عرفت إن أنا عملت ريزولف أو أنا إستنيت البروميس ده خلاص رجعلي الليست أوف أوردر فأبدأ أعمل بقى أي تيست كيس أنا عايزها براحتي. فأنا هنا أنا باكسبكتينج إن الأوردرز أنا عارف إن هي بترجع أراي فأقوله مثلاً الأوردر دوت لينث تو بي تو. هنشوف التيست كيس موجودة ورانينج وكل حاجة تمام حلو تمام. كمان مش دي الطريقة الوحيدة اللي إحنا إتعلمناها أنا مش شرط أفصل الكول بتاع الفانكشن ده في لاين لوحده أنا ممكن أعمل الكلام ده كله جوه الإكسبكت دي. فـاتعالوا نكومنت ده ونعمل كل حاجة هنا. بس برضه أنا ستيل أنا لسه بتعامل مع فانكشن بترتيرن بروميس فأنا محتاج أويت الريزالت بتاعة الجيت أوردرز حكول الفانكشن عادي زي ما كنا بنعمل قبل كده بس برضه لازم أحط أويت عشان أستنى اللي راجع بعد كده الحاجة اللي راجعة من الفانكشن دي أنا عارف إن هي أراي فأقول له اللينث تو بي تو. مفيش أي حاجة إختلفت وكل حاجة شغالة تمام. مش بس كده كمان جيست بتديك أوبشنز تانية تقدر تتيست بيها الأسينكروناس كود. إحنا عارفين إن أي بروميس في جافا سكريبت عموماً البروميس ده يا إما الستيتس بتاعته بتبقى حاجة من الإتنين في النهاية يا إما بيحصل له فولفيلمنت أو بيحصل له ريزولف أو بيحصل له ريجيكشن لو حصل أي إيرور عندك. فـا جيست بتديك حاجة كمان إن إنت ممكن تستخدمها لما تبدأ تتعامل مع الأسينكروناس كود ده. يعني ممكن تيجي هنا وتكتب إكسبكت وتكول الفانكشن بتاعتك عادي جداً وإنت عارف إن الفانكشن دي بترجع بروميس فتقدر تيجي هنا وتقوله أنا باكسبكتينج إن البروميس ده. يريزولف يريزولف بعد كده تبدأ تدي الماتشر بتاعك عادي جداً حلو يعني مثلاً إحنا عارفين إن الفانكشن دي جيت أوردرز لما يحصل لها ريزولف أو البروميس سينس إن الفانكشن دي أسينكروناس فانكشن.
[5:54]لما يحصل لها ريزولف تبدأ تحط بقى الماتشر بتاعك فـإحنا مثلاً في الكيس بتاعتنا إحنا عارفين إن هي بترجع أراي فأنا ممكن هاجي هنا أقول له إحنا عرفنا إن إحنا بنستخدم مع الأراي حاجة إسمها تو كونتين تمام وأبدأ أديها أوبجيكت أيدي وان وبرايس واحد من الأوردرز اللي راجعالي تمام. وطبعاً أنا برضه بتعامل مع أسينكروناس كود فأنا لو ده أخر لاين عندي في التيست كيس بتاعي أنا ممكن أجي هنا أعمل ريتيرن والدنيا هتشتغل عادي أو لو إنت لسه هتعمل حاجات تانية بعد اللاين ده فبرضه هتبقى محتاج تحط الإيه الأويت لإن إحنا ستيل في النهاية بنتكلم على فانكشن هي عبارة عن أسينكروناس فانكشن فإنت محتاج تستنى الريزالت.
[8:45]حلو تمام جداً فـا كده ده ببساطة إزاي تقدر تعمل تيستنج لأسينكروناس كود. الحاجة التانية اللي عايزين نشوفها في الفيديو بتاع النهارده هو كونسيبت الموكينج أو الفيكينج عموماً. فـا عشان نقدر نفهم الكونسيبت ده خلونا نكتب فانكشن تانية وهنبقى عايزين نعملها تيست. فـا خلونا نكتب الفانكشن اللي إحنا أو الإكزامبل اللي إحنا كنا بنستخدمه دايماً موضوع الأبلاي ديسكاونت. فـهاجي هنا أهوت هعمل فانكشن تانية إسمها أپلاي ديسكاونت الفانكشن دي هتاخد أوردر أيدي. تمام وطالما معايا الأوردر أيدي فأنا محتاج في البداية إن أنا أروح أجيب الأوردر ده من الداتا بيز. فـا خليني أقول هنا إن الأوردر هنروح نستخدم الداتا بيز بتاعتنا عشان نجيت الأوردر وطبعاً هنعمل باس للأوردر أيدي. حالياً طبعاً إحنا معندناش الداتا بيز ده فخلونا نفترض إن إحنا عندنا هنا كلاس إسمه دي بي. وحالياً الداتا بيز دي هي جواها فانكشن واحدة بس الجيت أوردر وهي بتاخد الأوردر أيدي.
[10:06]خليني أقول إن هي دلوقتي فور سيمبليسيتي بس هترجع إيه حاجة ثابتة أيدي أو خليني أقول إن الأيدي هيساوي أوردر أيدي ومثلاً البرايس مية. تعالوا ناكسبورت موديول ناكسبورت الفانكشن دي عشان نقدر نستخدمها جيت أوردر. كل اللي أنا عملته حالياً إن أنا بس بسيميوليت إن أنا عندي داتا بيز شغالة وعندي فانكشن إسمها جيت أوردر المفروض إن دي بتعمل كول للداتا بيز وترجعلك أوردر بأيدي معين. تمام فهي دي اللي أنا هستخدمها جوا الفانكشن بتاعة أپلاي ديسكاونت فـأنا محتاج أجي فوق هنا أعمل إمبورت للداتا بيز دي بي.
[11:06]وخلاص أنا بقى عندي حالياً الفانكشن بتاعتي اللي إسمها أپلاي ديسكاونت دي هي بتكول الداتا بيز عشان تجيب الأوردر بعد كده هي أوردر مش أوردرز. بعد كده هي بتعمل مثلاً سيمبل تشيك إن أنا أقول إن الأوردر ده لو البرايس بتاعه أكبر من أور إكوال مثلاً عشرة. هبدأ أعمل أپلاي لـ ديسكاونت 10% فـهاخلي الأوردر دوت برايس ماينص إيكوال أوردر دوت برايس في 10%. يعني هطرح أو هنقص من البرايس بتاع الأوردر ده 10% من قيمته تمام يبقى أنا كده عملت أپلاي إيه ديسكاونت. وفي النهاية هروح أرجع الإيه الأوردر بتاعي تمام. فـأنا حالياً عندي فانكشن دي كأنها فانكشن عندك في الأبلكيشن وإنت عايز تعمل يونت تيستنج للفانكشن دي. وأنا جوا الفانكشن ديت بروح أكول الداتا بيز عشان أجيب منها الأوردر. ولو نفتكر مع بعض إحنا قولنا أهم ميزة بتميز اليونت تيستنج إن إنت بتتيست يونت أوف يور أبليكيشن وذاوت إتس إكسترنال ديبيندينسيز.
[12:26]إكسترنال ديبيندينسي زي ما قولنا ممكن تبقى داتا بيز ممكن تبقى أي بي أي كول ممكن تبقى أي حاجة برا الكود بتاعك نفسه أي إكسترنال ديبيندينسي. ودي الكيس بتاعتي حالياً أنا عايز أعمل يونت تيستنج للفانكشن دي بس أنا عندي هنا جوا الفانكشن دي عندي إكسترنال ديبيندينسي عندي لاين بروح أكول بيه الداتا بيز. فـأنا عشان أقدر أعمل تيستنج للفانكشن دي فـأنا حالياً أنا مش مهتم بإيه اللي راجع من الداتا بيز. أنا عايز أموك أو أفييك الريزالت اللي راجعة من الداتا بيز دي لإن أنا في اليونت تيست بتاعي أنا مش هشغل الداتا بيز فلو أنا مش مشغل الداتا بيز فالفانكشن دي مش مش هقدر أعملها ران. فـأنا عايز أبدل اللاين ده وأقول هفترض إن الريزالت راجعة من الداتا بيز كذا لإن أنا أصلاً عايز أتيست اللوجيك ده عايز أتيست اللوجيك بتاع الفانكشن دي إن هي فعلاً بتابلاي ديسكاونت ولا لا هي بتعمل الحاجة المطلوبة منها ولا لا. فـأنا مش فارقلي إن الداتا بيز تكون شغالة ولا لا أنا عايز أعمل يونت تيستنج فـأنا عايز مبصش على أي إكسترنال ديبيندينسي. فهو دوت كونسيبت الموك أو الموكينج أو الفيكينج إن أنا الجزء بتاع الداتا بيز ده هعمل له موك أو بنقول عليها فيك أو هنعمل له فيكينج. يعني إيه فيكينج يعني هقول والله كأن الداتا بيز بتاعتي دي شغالة ورجعتلي ريزالت معينة كذا فـأبدأ أشوف بقى هل الفانكشن بتاعتي دي بتابلاي ديسكاونت فعلاً ولا لا. تمام طيب إزاي أقدر أعمل الموكينج أو الفيكينج ده. بعيداً عن جيست لو أنا مستخدمتش جيست أصلاً عموماً وعايز أعمل موضوع الموكينج أو الفيكينج ده فـأنا ممكن أجي أأوفرايد الفانكشن دي. يعني خلونا نشوف مع بعض تعالوا ناكسبورت الفانكشن دي اللي هي أپلاي ديسكاونت ونشوف لو أنا عايز أعملها يونت تيستنج هعمله إزاي. هاجي هنا هايمبورت الفانكشن أپلاي ديسكاونت وتعالوا هايمبورت الموديول بتاع الداتا بيز برضه. هنعمل ديسكرايب للـ أپلاي ديسكاونت أيدي الفانكشن نبدأ نعمل يونت تيستنج مثلاً هنقول إت شاد أپلاي مثلاً ديسكاونت 10% فور أوردر برايس عشرة مثلاً.
[15:26]تمام حلو. طيب عشان أبدأ أعمل اليونت تيستنج إحنا خلاص إتعودنا إن أنا هكول الفانكشن دي وأشوف الريزالت اللي راجعة هل فعلاً عملت الأپلاي ديسكاونت 10% ده ولا لا. فخلونا برضه نقسمها على تو لاينز عشان تبقى واضحة لينا أكتر فهنقول مثلاً كونست أوردر ده الأوردر اللي هيرجع من الفانكشن دي لإن هي في النهاية الفانكشن دي إحنا عارفين إن هي بترجع الأوردر يا إما بتعمل أپلاي ديسكاونت يا إما لا. فـأنا هقول هنا إن أپلاي ديسكاونت وهنبعت لها الأوردر أيدي فممكن يبقى أي حاجة مثلاً واحد دلوقتي وعايزين بقى نبدأ نقول أنا باكسبكتينج إن الأوردر ده. إحنا عرفنا إزاي بـأتيست الأوردر إن بأقول تو إكوال الأيدي بتاعه هيبقى واحد والبرايس لو أنا عملت أپلاي لو أنا بعت أوردر أو عندي الأوردر اللي راجع من الداتا بيز البرايس بتاعه بعشرة وعملت أپلاي لـ 10% ديسكاونت فالمفروض البرايس في النهاية يبقى كام يبقى تسعة. تمام حلو. قبل ما نعمل سيف ونران التيست كيس دي أنا عندي مشكلة حالياً لإن الفانكشن اللي أنا بعملها تيست دي زي ما قولنا هي بتروح تكول الداتا بيز. وأنا مش مشغل الداتا بيز حالياً فإزاي هقدر أعمل أوڤررايد أو فيك للفانكشن ديت. كـ جافا سكريبت عموماً بعيداً عن جيست إنت ممكن تأوفرايد أي فانكشن إنت بتعملها إمبورت من موديول. يعني أنا ممكن أجي هنا بكل بساطة وأجي أقول إن الدي بي دوت جيت أوردر دي وأبدأ أأوفرايد الفانكشن دي أو أأعمل ريديفينيشن للفانكشن ديت أوردر أيدي.
[17:28]تمام فـأنا الفانكشن حالياً هي بترجع أوردر البرايس بتاعه مية بس أنا أقدر أعمل أوڤررايد للفانكشن دي وأخليها ترجع الحاجة اللي أنا عايزها. الحاجة اللي هتلايم التيست كيس بتاعتي فـأنا حالياً عايز أتيست لو أنا بعت أوردر أو أنا جبت من الداتا بيز أوردر البرايس بتاعه بعشرة عايز أشوف الفانكشن بتاعة أپلاي ديسكاونت دي هي شغالة فعلاً ولا لا. فـأنا هعمل ريديفينيشن تاني للجيت أوردر دي وهاخليها ترتيرن أوردر الأيدي بتاعه بواحد.
[18:00]أو بالحاجة اللي أنا ببعتها عموماً تمام والبرايس بتاعي بكام بعشرة. تمام تعالوا بقى نرن دلوقتي ونشوف التيست كيس بتاعتنا إشتغلت. ليه لإن أنا بروح أكول الفانكشن اللي إسمها أپلاي ديسكاونت دي تمام. فـأنا عملت كولينج للفانكشن دي وبعت لها أوردر بس أنا الداتا بيز عندي مش شغالة فـأنا إضطريت أعمل أوڤررايد أو أعمل موك أو أعمل فيكينج لللاين ده. وقلت إن أنا هعمل ريديفينيشن للفانكشن دي وهي هترجعلي أوردر البرايس بتاعه بعشرة وأبدأ أشوف بقى هل الفانكشن دي فعلاً بتنفذ اللي هي عملته ولا لا. فهو ده كونسيبت الموكينج أو الفيكينج فـأنا حالياً عملته بطريقة بعيداً عن جيست خالص. الطريقة دي هتشتغل هتشتغل زي ما إحنا شفنا بس فيها مشكلة كبيرة. إن إنت عملت أوڤررايد للفانكشن اللي جوه الموديول بتاع الداتا بيز دي نود جي إس أو جافا سكريبت الطريقة اللي بتشتغل بيها موضوع الإمبورتس دي إن إنت لما بتإمبورت موديول لأول مرة فهو بيحصل له كاشينج عندك في الميموري. فـا لو إنت جيت في أي فايل تاني يعني أنا مثلاً هنا في اليوتيلتيز أنا عامل إيه إمبورت للموديول بتاع الداتا بيز دي كانت أول مرة. فالموديول بتاع الداتا بيز ده هو كاشد في الميموري فلو إنت جيت في فايل تاني وقلت له إمبورت الموديول ده تاني مش بيروح يإمبورت الموديول ده تاني لا بياخد من عنده في الكاش على طول. فلو إنت جيت غيرت الديفينيشن بتاع الفانكشن دي فهي هتتغير في الموديول اللي أوريدي عندك في الميموري فلو إنت في أي فانكشن تاني أو في أي تيست كيس تاني أو في أي فايل تاني عموماً جيت تعمل كول للجيت أوردر ديت هترجعلك برضه على طول الأوردر بعشرة ودي مشكلة. أنا هبقى لسه عندي تيست كيسيز تانية فـأنا مش عايز الجيت أوردر دي أغير الديفينيشن بتاعها ذات نفسه على طول لإن أنا عايز أستخدمها في أماكن تانية بديفينيشن تاني. حلو فعشان نحل المشكلة دي بتاعت إن أنا بأوفررايد الموديول اللي عندي أوريدي في الكاش ده وأبدأ أبوز على نفسي بقية التيست كيسيز التانية لإن خالي بالكم أنا حالياً بتكلم على سيمبل ديفينيشن بسيط إن هي بترجع أوردر بس حالياً ممكن الفانكشن دي بقى عندك الفانكشن الحقيقية يكون فيها لوجيك وفيها حاجات كتير فإنت مش معقولة كل مرة هتيجي تقعد تعمل ريديفينيشن للفانكشن دي تاني وتيجي في تيست كيس تانية تعمل ريديفينيشن تالت وهكذا هتأثر معاك وهتلخبطك. ومفيش طريقة إن إنت مثلاً بعد ما تخلص التيست كيس بتاعتك دي لو إنت عندك تيست كيس تانية مثلاً خلينا نقول إن أنا عندي تيست كيس تانية مثلاً إت شاد نوت أپلاي ديسكاونت فور أوردر برايس تمانية لو أنا عندي الأوردر برايس بتمانية. أنا عايز أتيست إن الفانكشن دي المفروض متعملش إيه ديسكاونت فلو أنا جيت عملت نفس الإكسبكت والحاجات بتاعتي دي أنا كده كده عملت أوڤررايد للجيت أوردر دي فمضطر تاني أجي هنا أعملها ريديفينيشن تاني بشكل تاني جديد وزي ما بقول أنا حالياً الفانكشن عندي بسيطة بس لو الفانكشن دي كبيرة الموضوع هيبقى مش عملي. فـا جيست بتخليك تعمل الفيكينج أو الموكينج ده بطريقة سهلة وظريفة وتساعدك إن إنت لو إنت عايز بقى تغير الحاجات ديت في أكتر من تيست كيس الموضوع هيبقى بسيط. فـا جيست بتخليك تقدر تعمل الموكينج أو الفيكينج دوت إزاي بكل بساطة إن إنت ممكن تيجي تقول مثلاً أنا عندي فانكشن إسمها ماي فان والفانكشن دي هي عبارة عن جيست دوت فانكشن. فـا جيست دوت فانكشن إنت كده كريت فانكشن الفانكشن دي فيك أو الفانكشن دي عبارة عن موك تقدر تستخدمها في أي حتة عندك في الكود. وكمان ممكن تبدأ يعني أول ما بتعمل جيست دوت فانكشن بتاخد شوية بروبرتيز مفيدة وهيلفول جداً تخليك تقدر تعمل التستات بتاعتك دي ببساطة يعني أنا مثلاً عايز إن الماي فانكشن ديت في أول مرة أناديها ترجع ريزالت معينة. فأقدر أجي هنا أقول له ماي فان دوت الموك ريتيرن فاليو مثلاً خمسة فـا خليني أجي هنا مثلاً ونعمل لوج للفانكشن ديت اللي هي ماي فان ونشوف هترجع كام.
[22:45]زي ما إنتوا شايفين رجعت خمسة ده أنا كمان ممكن أقول لو أنا أول مرة ناديت الفانكشن دي رجع حاجة ولو ناديتها تاني مرة رجع حاجة تانية فممكن أجي هنا أقول له موك ريتيرن فاليو وانز.
[23:03]يعني إيه يعني أول مرة أو في مرة واحدة رجعلي عشرة بعد كده لو حد عمل كول للفانكشن دي تاني رجع خمسة فـأنا لو عملت كول للفانكشن دي أدي مرة وأدي مرة تانية.
[23:20]بصوا أول مرة رجعت عشرة تاني مرة رجعت خمسة. وهكذا بقى على أي تايب لو إنت الفانكشن دي عايز تعمل موك أو فيكينج لفانكشن بترجع بروميس ممكن بدل موك ريتيرن فاليو تقول له موك ريزولفد فاليو وهكذا. فـيبقى إحنا عرفنا في الفيديو ده كونسيبت الموكينج إن أنا عشان أقدر أعمل يونت تيستنج لفانكشن أنا محتاج أو أنا مش المفروض أستخدم الإكسترنال ديبيندينسي.
[23:51]طب هتصرف في حاجة زي كده إزاي أنا أوريدي الفانكشن عندي هنا بتستخدم الداتا بيز إزاي أقدر أتصرّف في حاجة زي كده فعرفنا إن في حاجة إسمها الموكينج أو الفيكينج إن أنا هبدل اللاين ده أو هبدل الفانكشن بتاعة الداتا بيز الحقيقية دي. هافترض إن عندي فانكشن تانية بترجع ريزالت معينة عشان أقدر أتيست اللوجيك بتاعي عرفنا إن أنا ممكن أعمل الكلام ده من غير جيست إن أنا ممكن أعمل أوڤررايد للفانكشن بتاعة الموديول بس ده هيسبب مشكلة إن هيغير في الموديول نفسه اللي موجود عندي في الإيه في الكاش فـالجيت أوردر دي هي إتغيرت فـا في أي تيست كيس تانية هي دايماً هتبقى بترجع الريزالت دي. وقولنا إن الموضوع عندي هنا بسيط بس لو أنا عندي بقى الفانكشن دي كبيرة وفيها لوجيك كتير فمش هينفع أو هيبقى الموضوع سخيف إن أنا أجي في كل تيست كيس أبدأ أعمل أوڤررايد للفانكشن دي تاني وأكتب كل الكلام بتاع الفانكشن ديت أكتب البادي بتاع الفانكشن ده كله من الأول وجديد تاني. فـا جيست بتخليك تقدر تعمل الفيكينج أو الموكينج ده بطريقة بسيطة جداً إن إنت بتقول جيست دوت فانكشن فـإنت كده خلاص كريت موك فانكشن تبدأ تشوف بقى إنت عايز الموك فانكشن دي ترجعلك إيه ترجعلك هل ترجعلك فاليو ولا ترجعلك أراي ولا ترجعلك بروميس ولا ترجعلك إيرور. فـا في الفيديو الجاي هنبدأ نشوف إزاي الموكينج بتاع جيست ده أقدر أنفذ بيه نفس الحاجة اللي أنا عايز أعملها بالأوفررايدنج دوت فـأشوفكوا إن شاء الله في الفيديو الجاي.



