[0:00]في الفيديو اللي فات اتعرفنا على كونسبت الموكينج وشفنا ان انا ليه اصلا في حاجة اسمها موكينج لان انا انا عايز أعمل يونت تيستينج واليوني تيستينج المفروض مستخدمش فيه اي اكسترنال ديبيندينسي أنا عايز أتست بيس اوف كود أو لوجيك معين. فأنا مش عايز أدخل أي اكسترنال ديبيندينسي في التيست بتاعتي فأنا مثلا لو انا عندي فانكشن بتستخدم الداتابيز أو بتعمل أي بي أي كول فأنا عايز اريبليس الفانكشن ديت أو اللاين دوت. وافترض إن الريزلت اللي راجعة عندي هي كذا وأبدأ أشوف اللوجيك بتاعي ده بيتنفذ ولا لأ فقلنا عشان نقدر نعمل كده ففي طريقتين في طريقة عادية ان أنا أوفررايد الفانكشن اللي جاية من الموديول وعارفنا ايه المشاكل اللي بتسببها الطريقة دي. وقلنا ان في طريقة تانية أو جيست بتديك طريقة تانية تقدر تعمل بيها موكينج أو فيكينج عن طريق ان أنت تستخدم جيست دوت فانكشن. وقلنا أول ما بتستخدم جيست دوت فانكشن فأنت كده كرييت موك فانكشن وجيست بتديك فيتشرز كتير جدا تقدر تستخدم بيها الموك فانكشنز دي وهنشوف الحاجات المفيدة اللي أنا باخدها لما أبدأ أستخدم الموكينج بتاع جيست في الفيديو ده. فيلا بينا نبدأ.
[1:20]طيب خلونا نعمل الحاجة اللي احنا عملناها في الفيديو اللي فات موضوع إن أنا قدرت أعمل يونت تيستينج للأبلاي ديسكاونت عن طريق إن أنا عملت أوفررايد للفانكشن بتاعة الجيت اوردر. فتعالوا نستخدم الموكينج بتاع جيست ونشوف ازاي هنقدر نتست نفس الفانكشناليتي دي من غير ما نوفرايد الموديول بالطريقة التقليدية ديت. تمام فخلونا نمسح الحاجات دي. ونشيل اللوجز دي. أنا هنا بعمل أوفررايد للموديول فأنا عرفت ان أنا لو أنا عايز أعمل موكينج للفانكشن ديت فأنا هستخدم جيست دوت فانكشن. أنا كده عملت موكينج للفانكشن دي وزي ما قلنا أول ما بعمل جيست دوت فانكشن فالموك فانكشن دي أبدأ عندي أوبشنز كتير أبدأ استخدمها فأنا مثلا الفانكشن دي أنا عايزها ترجع اوردر بشكل معين أنا عايزها ترجع اوردر السعر بتاعه 10 عشان أقدر أشوف هل الديسكاونت فعلا هيحصل وهيرجعلي 9 ولا لأ؟ فزي ما شفنا إن أنا ممكن أجي هنا أقول له موك ريتيرن فاليو ان أنت هترجع لي. ترجع لي اوردر الأي دي بتاعه بواحد والسعر بتاعه بكام؟ ب10 لو نفتكر الفانكشن الأصلية نفسها بترجع البرايس ب100 فأنا حاليا دلوقتي هعمل فيكينج أو موكينج للفانكشن دي اللي هي مستخدمة جوة الأبلاي ديسكاونت. فأنا هعمل فيكينج أو موكينج للفانكشن دي باستخدام جيست وهقول إن الفانكشن دي هترجع لي الأوردر بالمنظر ده اللي الفاليو بتاعته بايه؟ ب10. وأبدأ أعمل التيست كيس بتاعتي عادي جدا. هأكول الفانكشن عادي جدا وهبقى متوقع إن الأوردر راجع ده حصل عليه ديسكاونت بنسبة كام 10%؟ تعالوا ان بي ام تيست. اشتغلت وتمان. طيب حد ممكن يسأل يقول طب ايه الفرق دلوقتي؟ ما انا هنا برضه جيت عملت أوفر رايد للموديول كله أو للفنكشن اللي جوه الموديول ديت بس بدل ما بكتب أنا الفانكشن أنا روحت استخدمت جيست فانكشن بس أنا في النهاية برضه عملت أوفررايد للفانكشن دي. فلو انا جيت استخدمت أو عندي يونت تيست كيس تانية. لو انا عندي يونت تيست هنا هوت تانية فبرضه الجيت اوردر دي هترجع الأي دي بواحد والبرايس ب10. هأقول لك صح احنا حتى الان زي الموضوع القديم بالظبط ان احنا عملنا أوفررايد للفنكشن ديت في الكاش اللي عندي. بس الميزة بتاعة لما أنت تبدأ تستخدم الموكينج بتاع جيست أول ميزة هتاخدها ان أنت تقدر ترست الفانكشن ديت للأوريجينال فانكشن بتاعتها. يعني أنت بعد ما بتخلص التيست كيس بتاعتك ممكن تيجي هنا بكل بساطة وتقول له الفانكشن اللي أنت عملت لها موك دي.
[4:16]تقول له دوت موك ريست. بس كده فهو يرجعلك الفانكشن ديت للأوريجينال كود بتاعها ذات نفسه. حلو لو أنا مش مستخدم الموكينج بتاع جيست وأنا عملت أوفر رايد الفانكشن دي فهضطر هنا تاني بعد ما أخلص الفانكشن بتاعتي أروح أكتب الأوريجينال كود أصلا بتاع الفانكشن تاني. عشان أقدر أعمل لها الريست لكن جيست سهلت عليا الموضوع إن أنا خلاص خلصت التيست كيس بتاعتك اتأكدت من الحاجة المعينة اللي أنت عايز تجربها اللي أنت عايز ترجع فاليو معينة أو تعمل عليها الفاليديشن خلاص موك ريست رجعلي الفانكشن ديت للأوريجينال كود بتاعها عشان لو أنا هستخدمها في مكان تاني. تمام فدي أول ميزة هأخدها لو انا بستخدم الموكينج بتاع جيست. تاني حاجة حاجة اسمها الموك بروبرتي. أنت أول ما بتعمل جيست دوت فانكشن وبتكارييت موك فانكشن أو بتأوفر رايد الفانكشن ديت بموك بتاع جيست الفانكشن ديت بيتضاف لها حاجة اسمها الموك أوبجيكت. الموك أوبجيكت ده فيه حاجات فيه تفاصيل كتير ممكن تقدر تستخدمها وتساعدك في التيست بتاعك. يعني ايه؟ احنا حاليا دلوقتي باللاين ده عملنا موكينج للفنكشن اللي اسمها جيت اوردر. فاحنا عرفنا ان بيتضاف لها أوبجيكت جديد اسمه موك. فتعالوا نعمل لوج للأوبجيكت ده ونشوف جواه ايه. فأنا هاجي هنا وهألوج الدي بي دوت جيت اوردر دوت الموك أوبجيكت اللي اتضاف ده. تمام. هيشتغل ألوج. ده الموك أوبجيكت بتاعنا. جواه حاجات كتير أول حاجة منهم جواه ارايز أو اراي أوف ارايز بتقول لك أنت الفانكشن دي حصل لها كول كام مرة؟ فأنا هنا الأراي دي جواها ارايز كتير فهي جواها اراي واحدة هي اراي أوف اراي واحدة فمعنى كده ان حصل لها كول مرة واحدة وايه البراميتر اللي أنت بتبعته في كل كول من دي؟ ممكن تديك الكونتكست ممكن تديك الانستانس ممكن تديك الكول اوردر أنت عملت كولينج للفانكشن دي بأنهي اوردر؟ الريزلت بتاع الكول آخر مرة عملت كول الفانكشن ديت أنت عملت لها كولينج ببراميتر عامل ازاي؟ فده هيساعدك قدام لما احنا نبدأ نعمل تيستينج ونعمل انتجريشن تيستينج إن أنت أحيانا بيبقى الموك أوبجيكت دوت مفيد جدا. يعني أنا دلوقتي مثلا بعد ما عملت التيست كيس بتاعتي دي عايز أتأكد أنا فعلا عملت كول للفنكشن اللي اسمها جيت اوردر ديت ولا لأ؟ حلو يعني أنا هنا طبعا عندي واضحة ان الريزلت اللي راجعيت لي مظبوطة فمعنى كده إن فعلا حصل لها كول بس لو أنا عايز أتأكد من حاجة زي كده. فأنا أقدر هاجي هنا أقول له اكسبكت. إن الفانكشن اللي اسمها دي بي دوت جيت اوردر دي الموك بتاعها احنا عرفنا ان جواه اراي اسمها كولز فأدي الكولز اراي اللينث بتاعها قد ايه؟ فأنا هنا طالما الفانكشن دي حصل لها كول مرة واحدة فآي ام اكسبكتينج إن اللينث بتاع الكولز دي هو عبارة عن ايه؟ عن واحد. في مشكلة.
[7:37]أه اللينث كانت بينها غلط دايما التايبو.
[7:42]تمام كل حاجة اشتغلت. ممكن كمان أتأكد لما عملت كول للفانكشن ديت للموك فانكشن دي أنا عملت لها كول بايه؟ فأحنا عرفنا إن الكولز دي هي عبارة عن اراي أوف ارايز فأنا الكولز أوف زيرو أول مرة عملت فيها كول للفانكشن دي ايه البراميتر اللي أنا بعتها؟ فأنا البراميتر أوف أنا ببعت براميتر واحد فيبقى زيرو لو انا ببعت لو عايز أتشيك تاني براميتر يبقى واحد اتنين تلاتة وهكذا. فأنا فأول مرة عملت كول للفانكشن دي ايه البراميتر اللي اتبعت؟ أنا كنت ببعت كام؟ واحد فأقدر برضه هنا أقول له واحد. تمام.
[8:25]حلو جدا. طيب يبقى دي تاني حاجة بستفيدها لما أستخدم الجيست ان بيتضاف لي حاجة اسمها الموك أوبجيكت والموك أوبجيكت ده. يا احنا حتى الان برضه الفاليو بتاعته مش باينة اوي أو خلينا مثلا برضه نزود حاجة عشان نتأكد إن الدنيا واضحة عندنا الموك أوبجيكت ده فايدته ايه؟ خليني أفترض ان أنا بعد ما بأبلاي الديسكاونت هنا ده بروح أكون فانكشن تاني أو بأكون الداتابيز الداتابيز بتاعتي تاني عشان أعمل أبدأ للاوردر. دي بي دوت أبدأ الاوردر وببعت لها الايه؟ الأوردر بتاعي. تمام. خلينا نحط لها أي حاجة هنا دلوقتي كونست الأبدأ الاوردر دي.
[9:12]هي بتاخد الأوردر دلوقتي كأن دي الفنكشن بتاعة الداتابيز وكل اللي بتعمله ان هي بتلوج ان الأوردر از أبدأ بس. تمام. هيدي الأبدأ الاوردر.
[9:33]تمام يبقي أنا لو الأوردر برايس أكبر من 10 وعملت الديسكاونت ده بروح أبدأ الأوردر دوت في الداتابيز. ازاي أقدر أستخدم الموك بروبرتي دي عشان تساعدني أتأكد إن أنا عملت كول للفانكشن دي؟ يا احنا مثلا في الفانكشن بتاعة جيت اوردر ده أو الفانكشن دي احنا كنا مهتمين بالحاجة اللي راجعة فعشان كده قلنا لها الموك ريتيرن فاليو هتبقى كذا. بس لو أنا دلوقتي أنا برضه محتاج أعمل موكينج للفانكشن دي عشان أنا مش عايز أستخدم الداتابيز فأقدر أجي هنا بكل بساطة أقول له دي بي دوت أبدأ اوردر دي اعمل لها موكينج ازاي جيست دوت فانكشن كده أنا عملت لها ايه؟ موكينج. أنا مش مهتم مثلا بالحاجة اللي هترجع أو هكذا بس احنا عرفنا ان أول ما بستخدم جيست دوت فانكشن فبيتضاف للموك الفانكشن بتاعتك دي الموك أوبجيكت. فأنا دلوقتي عايز أشوف لما أنا عملت كول للفانكشن أبلاي ديسكاونت دي وبعت لها واحد ورجعت لي ان البرايس بتاع الأوردر ده ب10 عايز أتأكد هل فعلا حصل كول أو في السيناريو بقى الطبيعي هل هيحصل كول للداتابيز ولا لأ؟ أقدر أعمل الكلام دوت ازاي؟ ان انا هاجي هنا أقول له اكسبكت ان الدي بي دوت أبدأ اوردر ان الموك فانكشن دي مش اكسبورت. اكسبكت زي ما احنا عرفنا ان أول ما بيتضاف الموك أوبجيكت ده أقدر أقول مثلا الكولز دوت لينث تو بي ون. ده برضه ماتشر بيتأكد ان الفانكشن دي حصل لها كول ولا لأ؟ لو عملنا ران.
[11:13]تمام اشتغلت وتمان. فأنا بالموك أوبجيكت ده عرفت إن الفانكشن دي حصل لها كول ولا لأ؟ أكتر من كده أنا ممكن أتأكد هي حصل لها كول بايه؟ ايه البراميتر فزي ما احنا عرفنا ان احنا أقدر أقول الكول الأولانية ايه البراميتر الأول اللي اتبعت للفانكشن دي؟ فاحنا في الفانكشن بتاعتنا لما الأوردر بيحصل عليه الديسكاونت احنا بنكون الفانكشن دي بالأوبجيكت كله على بعضه اللي هو الايه؟ الأوردر بس بعد ما بنأبدأ البرايس فأقدر أجي هنا أقول له ان البراميتر اللي هيتبعت للفانكشن دي أو انا عايز أشوف الفانكشن دي لما حصل لها كول أول مرة ايه البراميتر اللي اتبعت؟ أقدر أجي هنا أقول له تو ايكوال عشان أنا بتكلم على أوبجيكت الأي دي بتاعها بواحد والبرايس بتاعها بكام؟ ب9. تمام تعالوا نشوف. تمام اشتغلت.
[12:34]فعشان كده بأقول استخدامك للموكينج بتاع جيست بيديك شوية أوبشنز كتير تسهل عليك الدنيا وأنت ماشي فأحنا عرفنا الفاليو بتاعة الريست عشان كده بنستخدم الموكينج بتاع جيست مش بنستخدم الموكينج الطبيعي وعرفنا الموك بروبرتي.
[13:44]أكثر من كده كمان ان أنت ممكن بدل ما بس تيجي تقول الموك ريتيرن فاليو أو الموك ريزولفد فاليو أنت ممكن أنت تعمل الامبلمنتيشن بتاع الفانكشن دي. يعني ايه؟ يعني أنا الموكينج بتاعي دلوقتي هو بالمنظر ده. ممكن أجي هنا أقول له دي بي جيت اوردر جيست دوت فانكشن دوت موك امبلمنتيشن. فأنا كده عملت موكينج وابتديت بعد كده أقول والله هي هترجع ايه الموك ريتيرن فاليو الموك ريزولفد فاليو وهكذا أنت ممكن كمان تعمل موك امبلمنتيشن أقدر أكتب أنا الامبلمنتيشن بتاع الفانكشن اللي أنت بتعمل لها ايه؟ بتعمل لها موكينج.
[14:41]فأنا الفانكشن دي هي عندي بتاخد اوردر أي دي وبترجع أوبجيكت فأنا ممكن أعمل بقى أي لوجيك جوه الموك فانكشن بتاعتي دي ان هي بتاخد أي دي وأبدأ أكتب البودي بقى بتاع الفانكشن ان مثلا والله اف ان الأي دي ده. أكبر من أو خلينا نقول أصغر من خمسة هأرجع أوردر شكل معين ريتيرن أي دي بيساوي الأي دي والبرايس مثلا بتاعي بكام؟ ب10 مثلا.
[15:23]تمام حلو. فأنا استخدامي للموكينج بتاع جيست أنا كمان أقدر أموك الامبلمنتيشن أقدر أكتب أنا الامبلمنتيشن بتاع الفانكشن دي وستيل برضه بعد ما أخلص أقدر أعمل ريسيت وترجع للأوريجينال ديفينيشن بتاعها عادي جدا. الموك امبلمنتيشن كات بينها غلط برضه نفس التايبو ايرور.
[15:48]الموك امبلمنتيشن. تمام كل حاجة اشتغلت زي الفل. أنا دلوقتي في الموك امبلمنتيشن ده لما ببعت الأي دي لو الأي دي ده أقل من خمسة بأرجع أوردر بالبرايس بتاعه ب10 أكتر من كده أو غير كده بأرجع برايس ب100 فأنا المفروض أنا عايز دلوقتي أتست كيس.
[16:29]عايز أجرب إن أنا لو البرايس بتاع الأوردر بتاعي ده بثمانية فالمفروض ما يحصلش أبلاي ديسكاونت على حسب الكونديشن بتاعي اللي هنا. فأنا هبرضه هأعمل موكينج للفنكشن بتاعت الجيت اوردر دي بس المرة دي مش بس هستخدم موك ريتيرن فاليو لا ده انا هأعمل ديفينيشن كامل هأموك الامبلمنتيشن كامل على بعضه. فعشان أقدر أتيست الفنكشن دي هأجي هنا أقول له كونست أوردر هأنادي الفانكشن اللي اسمها أبلاي ديسكاونت تمام والمرة دي هنبعت لها أي دي أكبر من خمسة. مثلا الأي دي بتاعنا 10 حلو فالمفروض هنا بقى أجي أقول له اكسبكت إن الأوردر بتاعي المرة دي ده.
[17:18]تو ايكوال المفروض يرجع لي الأي دي بتاعي زي ما هو ال10 والبرايس يرجع لي زي ما هو بثمانية ما يحصلش عليه أي أي ديسكاونت. تمام تعالوا نجرب كده ونشوف. التيست كيس بتاعتنا التانية كمان شغالة فالد. ليه؟ لأن أنا عملت كول للفانكشن دي بعت لها أوردر بثمانية فأنا عملت موكينج للفيل ده أو للفنكشن دي من الداتابيز حاليا ان هي ترجع لك أوردر البرايس بتاعه بثمانية فالكونديشن ده مش بيأبلاي فهيرجع لك الأوردر زي ما هو من غير أي حاجة. زي ما احنا قلنا أنا ممكن أتأكد هل أنا حصل كول بقى يعني في الحالة دي؟ في الحالة بتاعت ان الأوردر برايس ده أقل من 10 زي الكيس بتاعتنا فأنا مثلا مش بنادي الفانكشن اللي اسمها أبدأ اوردر دي. فأقدر أفاليديت ده ازاي؟ زي ما اتعلمنا ممكن أستخدم الموك أوبجيكت فأقول له الدي بي دوت أبدأ اوردر موك دوت كولز دوت لينث المفروض يبقى زيرو. صح بس الفكرة ان أنا أوريدي عملت كول للأبدأ أوردر دي قبل كده فالمفروض لما أنا عملت لها كول أول مرة في التيست كيس الأولى بتاعتي يبقى أنا كده حصلت لها كول مرة. المفروض لو التيست كيس التانية بتاعتي بتعمل لها كول تاني فالمفروض اللينث ده يبقى اثنين لان أنا عملت لها كول مرة في التيست كيس دي ومرة في التيست كيس دي. فلو أنا قلت له ان الكول لينث يبقى اتنين وجيت أجرب. طبعا التيست كيس هتفيل ليه؟ لانه بيقول لي أنت قايل اثنين وأنا ناديتها مرة واحدة بس المرة الواحدة دي حصلت امتى في التيست كيس الأولانية لكن في التيست كيس التانية دي ما حصل لهاش كول. فأنا كده متأكد ان الفانكشن بتاعتي شغالة صح وفعلا الأكزيكيوشن مش بيخش في الكونديشن ده ومش بينفذ أي حاجة هنا هوت. حلو جدا يبقى شفنا تالت فايدة للموكينج بتاع جيست ان أنا أقدر أعمل موك للامبلمنتيشن كله على بعضه. أكثر من كده أنت كمان ممكن تعمل موك لموديول كامل على بعضه. يعني مثلا خلينا نيجي هنا نقول ان احنا عندنا فانكشن مثلا اسمها فيتش داتا حلو و خلينا نقول ان دي مثلا أسينكرونوس فانكشن. الفانكشن دي بتعمل ايه؟ بتروح تستخدم واحد من الموديولز المشهورة أو الثيرد بارتيز المشهورة اللي اسمها أكسيوس لو حد أتعامل مع. مع أي حاجة لـ جافا سكريبت ممكن يكون أكسيوس بنسبة كبيرة عدى عليك فأحنا بنستخدم أكسيوس عشان نبدأ نكول اكسترنال أي بي آيز وهكذا فتعالوا نعمل انستول لأكسيوس ونقول ان الفانكشن دي بتستخدم أكسيوس.
[20:22]تمام. وهأجي هنا هأقول ان الفانكشن دي بتفيتش الداتا ازاي؟ كونست مثلا الداتا بستخدم أكسيوس دوت جيت واديله بقى الايه؟ اليو ار ال بتاعي مثلا اتش تي تي بي. يو ار ال دوت كوم أي حاجة يعني. تمام. والداتا دي ببدأ أعمل عليها شوية أوبيريشنز بعد كده بأرجع الداتا بتاعتي. حلو تمام جدا يبقى أنا حاليا عندي فانكشن بتستخدم الموديول اللي اسمه أكسيوس عشان تتجيت شوية داتا من اكسترنال أي بي أي عايز برضه أعمل يونت تيستينج للفانكشن دي عشان أعمل يونت تيستينج للفانكشن دي فأنا ما ينفعش أستخدم الاكسترنال ديبيندينسيز فمحتاج أعمل لها موكينج. فأحنا اتعلمنا ازاي نعمل الكلام ده بجيست الأكتر من كده اللي احنا بنشوفه دلوقتي ان أنت تقدر بدل ما تموك فانكشن معينة أنت تموك موديول كامل على بعضه. فتعالوا نشوف ازاي أقدر أعمل موكينج للموديول بتاع أكسيوس ده كله على بعضه. فتعالوا أنكسبورت الفانكشن دي اللي هي فيتش داتا. ونروح هنا نعمل لها برضه ديسكرايب بلوك. فيتش داتا.
[21:54]ات شوولد ريتيرن سام داتا أسينك.
[22:13]فأقدر أجي هنا أقول له كونست مثلا الداتا بتاعتي هي أويت الريزلت طبعا احنا عارفين إن احنا ممكن نكتب الكلام ده كله في لاين واحد بس أنا أخليه على تو لاينز عشان تبقى واضحة بالنسبة لنا. هأويت الفيتش داتا فالفيتش داتا دي هترجع لي شوية داتا وأبدأ أشوف بقى أنا عايز أتست الداتا دي بشكل عامل ازاي؟ الفكرة اللي احنا عايزين نعملها هنا هوت ان أنا عشان أتيست الفانكشن دي زي ما احنا شايفين هي بتكون اكسترنال أي بي أي فأقدر أعمل موكينج للاكسترنال أي بي أي ده ازاي؟ زي ما قلنا ان من الميزات بتاعة جيست ان أنت تقدر تموك موديول كامل على بعضه. فأقدر أعمل موكينج للموديول ده ازاي؟ خليني هنا أجي أن أمبورت أكسيوس.
[22:59]ناخد ده من هنا كده ده الموديول بتاعي أو ده دي الاكسترنال لايبريري بتاعتي دلوقتي لجيست أقدر أعمل موكينج للموديول كله على بعضه مش الفانكشن معينة بأعمل كده ازاي؟ باجي هنا أقول له جيست دوت موك واديله الموديول كله على بعضه أكسيوس. تمام فأنا كده عملت موكينج للموديول بتاع أكسيوس كله على بعضه. ممكن بقى أجي على أي انديفيدوال فانكشن أنا عايزها وأقول له في الحالة دي هترجع حاجة معينة يعني أنا مثلا في التيست بتاعي اللي هنا ده أقدر هنا أجي أقول له أكسيوس الجيت فانكشن دي أقول له إن موك بس هأبقى الريزولفد فاليو بقى عشان اللي هي بترجع برومس هأقول له موك ريزولفد فاليو وأرجع الفاليو بقى اللي أنا ايه بأعمل لها فيكينج من الفانكشن دي.
[24:10]فأنا خليني مثلا هأقول ان الفانكشن دي هترجع نقول مثلا أوبجيكت فور سمبليستي دلوقتي يعني الأي دي بتاعه مثلا بخمسة. تمام حلو. فأنا دلوقتي عملت موكينج للموديول كله على بعضه وباجي على أي فانكشن أنا عايزها أبدأ أقول والله الفانكشن دي في الحالة دي هترجع حاجة معينة. فأنا دلوقتي أقدر أعمل تيستينج للفانكشن بتاعت الفيتش داتا دي عادي المفروض طبعا إن أنت وأنت بتعمل اليونت تيستينج للفانكشن دي حاليا فأنت بتتيست الأوبريشنز ديت بس احنا بس عايزين نشوف الموكينج ده شغال صح ولا لأ؟ فأنا بس هأتست اكسبكت ان الداتا اللي راجعة من الفانكشن دي هي تبقى تو ايكوال الحاجة اللي أنا مرجعتها من هنا الأوبجيكت اللي الأي دي بتاعه بكام؟ بخمسة. تمام ان بي ام تيست اشتغلت وتمان. يبقى آخر ميزة شفناها حاليا في الموكينج بتاع جيست ان أنت ممكن تموك موديول كامل على بعضه زي ما احنا عملنا هنا. حلو طبعا جيست فيها تفاصيل تانية أو الموكينج حتى فيه تفاصيل تانية بس دي هي البيسيك أليمنتس بتاعة الموكينج جيست. فأنت طبعا لو روحت على الأوفيشيال دوكيومنتيشن وروحت دوست على موك فانكشنز هتلاقي بيبدأ يكلمك على نفس الحاجات اللي احنا اتكلمنا عليها. إن والله لما أنت بتستخدم لما بتعمل موكينج يوزينج جيست فبيظهر لك أول حاجة الموك بروبرتي دي وتقدر تستخدمها بقى بأي شكل أنت عايزه. الموك أوبجيكت ده بتبدأ تشوف الكولز أنت عملت كول للفانكشن دي كام مرة كل مرة بتناديها ايه البراميترز اللي أنت بتبعتها ممكن تعمل موك للريتيرن فاليو زي ما شفنا ريتيرن فاليو وانس أو لو هي بترجع برومس فهي بقى موك ريزولفد فاليو أو ممكن موك ريزولفد فاليو وانس وهكذا. اتعلمنا إن احنا ممكن نموك موديول كامل على بعضه زي الموديول بتاع أكسيوس وشفنا طبعا أنت ممكن تموك موديول كامل أو تعمل موكينج بارشال يعني جزء بس معين هو ده اللي تعمله موكينج والباقي يفضل زي ما هو. وشفنا ان انت ازاي تقدر تعمل موك امبلمنتيشن للفانكشن بدل ما تستخدم ريتيرن بس لا أنت تكتب أنت الامبلمنتيشن بتاع الفانكشن اللي أنت بتعمل لها ايه؟ بتعمل لها موكينج. تمام حلو قبل ما نقفل سيكشن 2 عشان برضه اليونت تيستينج يبقى متجمع في دماغنا فخليني في الفيديو اللي جاي نبدأ نشوف إكزامبلز أكتر نجمع فيها كل الحاجات اللي احنا خدناها. ازاي نست أرقام وسترينج وأراي وأوبجيكت وأسينكرونوس كود نعمل إكزامبلز حقيقية هي دي اللي أنت هتقابلك في الحياة الطبيعية عشان نجمع اليونت تيستينج كله مع بعضه فأشوفكم إن شاء الله في الفيديو اللي جاي.



