لا يمكن مسح حقل بحث المرجع

عندما نملأ حقل البحث عن الإشارات المرجعية ونرسل الطلب، لا يمكننا حذف محتوى الحقل.

الخطوات:

  1. املأ حقل البحث عن الإشارات المرجعية
  2. قم بتشغيل البحث
  3. حاول حذف محتوى الحقل بالضغط على مفتاح الحذف للخلف
  4. عند الوصول إلى الحرف الأول، يعود محتوى الحقل إلى القيمة الحالية للاستعلام

فيديو:

3 إعجابات

يمكنني تكرار هذا أيضًا. صيد جيد! :fishing_pole:

إعجابَين (2)

هذا غريب بالتأكيد، تمت إضافة علامة أولوية لهذا، وسيقوم شخص ما بالاطلاع عليه خلال الأسابيع الأربعة القادمة، ولكن إذا شعر أي شخص بالرغبة في تقديم طلب سحب (PR) في هذه الأثناء، فهو مرحب به.

إعجابَين (2)

لقد ألقيت نظرة؛ المشكلة هنا:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/controllers/user-activity-bookmarks.js#L33

إليك ما يحدث.

عندما تزيل الحرف الأخير، يتم استدعاء get. في هذه النقطة، _searchTerm فارغ.
ومع ذلك، فإن this._searchTerm || this.q سيعامل السلسلة الفارغة على أنها خاطئة، ويتم عرض قيمة q.

قد يكون الإصلاح السريع هو التحقق بهذه الطريقة:

return this._searchTerm !== undefined ? this._searchTerm : this.q;

ملاحظة: القيمة الأولية لـ _searchTerm هي undefined.
ملاحظة: بسبب computed("q")، لا تحدث المشكلة عند التحديد/الحذف (ربما لأن التوقيت ضيق جدًا لإبطال ذاكرة التخزين المؤقت؟)


أردت تقديم طلب سحب، ولكن..

الاختبارات الأساسية (بدون تعديل) تفشل لسبب ما.
أنا أستخدم bin/rspec spec/system/user_activity_bookmarks_spec.rb.
يقول السجل أن البحث غير موجود أو لم يتم إنشاء الإشارات المرجعية.
هل فاتني شيء؟

السجلات

(base) arkshine@HOME:~/discourse$ bin/rspec spec/system/user_activity_bookmarks_spec.rb

عشوائية بالبذرة 38172
OID غير معروف 931304: فشل في التعرف على نوع ‘embeddings’. سيتم التعامل معه كسلسلة.
FFF

الإخفاقات:

  1. إشارات مرجعية لنشاط المستخدم يمكنها مسح الاستعلام
    فشل/خطأ: super

    Capybara::ElementNotFound:
    غير قادر على العثور على الحقل “bookmark-search” غير المعطل

    ~~~~~ نهاية سجلات JS ~~~~
    
    # ./spec/system/page_objects/pages/user_activity_bookmarks.rb:24:in `fill_in_search'
    # ./spec/system/page_objects/pages/user_activity_bookmarks.rb:14:in `search_for'
    # ./spec/system/user_activity_bookmarks_spec.rb:51:in `block (2 levels) in <main>'
    
    
  2. إشارات مرجعية لنشاط المستخدم يمكنها تصفية قائمة الإشارات المرجعية
    فشل/خطأ: super

    Capybara::ElementNotFound:
    غير قادر على العثور على الحقل “bookmark-search” غير المعطل

    ~~~~~ نهاية سجلات JS ~~~~
    
    # ./spec/system/page_objects/pages/user_activity_bookmarks.rb:24:in `fill_in_search'
    # ./spec/system/page_objects/pages/user_activity_bookmarks.rb:14:in `search_for'
    # ./spec/system/user_activity_bookmarks_spec.rb:44:in `block (2 levels) in <main>'
    
    
  3. إشارات مرجعية لنشاط المستخدم يمكنها تصفية قائمة الإشارات المرجعية من عنوان URL
    فشل/خطأ: expect(user_activity_bookmarks).to have_topic(bookmark_1.bookmarkable.topic)
    متوقع #<PageObjects::Pages::UserActivityBookmarks:0x00007f51dcb37b00>.has_topic?(#<Topic id: 699, title: "This is a test topic 0", last_posted_at: nil, created_at: "2025-03-19 04:35:...oad_id: nil, slow_mode_seconds: 0, bannered_until: nil, external_id: nil, visibility_reason_id: nil>) أن يكون صحيحًا، حصل على خطأ

    ~~~~~ نهاية سجلات JS ~~~~
    
    # ./spec/system/user_activity_bookmarks_spec.rb:40:in `block (2 levels) in <main>'
    
    

انتهى في 21.7 ثانية (استغرقت الملفات 3.8 ثانية للتحميل)
3 أمثلة، 3 إخفاقات

الأمثلة الفاشلة:

rspec ./spec/system/user_activity_bookmarks_spec.rb:50 # إشارات مرجعية لنشاط المستخدم يمكنها مسح الاستعلام
rspec ./spec/system/user_activity_bookmarks_spec.rb:43 # إشارات مرجعية لنشاط المستخدم يمكنها تصفية قائمة الإشارات المرجعية
rspec ./spec/system/user_activity_bookmarks_spec.rb:36 # إشارات مرجعية لنشاط المستخدم يمكنها تصفية قائمة الإشارات المرجعية من عنوان URL

4 إعجابات

ستحتاج إلى تشغيل bin/ember-cli في الخلفية أو تشغيل bin/ember-cli --build قبل أن تصبح تغييراتك في مجال JS متاحة لعملية اختبار النظام.

إعجابَين (2)

(يجب نقل هذا على الأرجح إلى موضوع للمطورين).

آلان، لدي bin/ember-cli قيد التشغيل (لقد جربت أيضًا bin/ember-cli --build).

هل أفعل شيئًا خاطئًا؟ :thinking:

إعجاب واحد (1)

هل يمكنك دفع تغييراتك إلى فرع على github؟ يمكنني مساعدتك في إلقاء نظرة لمعرفة ما قد يكون خاطئًا.

إعجابَين (2)

لقد قمت بإنشاء طلب السحب (PR):

المشكلة التي أواجهها هي أن هذه الاختبارات الافتراضية تفشل، حتى بدون تغييرات محلية.
على وجه التحديد، بالنسبة للإشارات المرجعية المصطنعة، يبدو أنها غير متوفرة. يبدو أن شيئًا ما لم يتم تحميله/كتابته بشكل صحيح.

في طلب السحب، أضفت اختبارًا صغيرًا لا يعتمد على إشارة مرجعية مصطنعة، لذا فهو يعمل محليًا لدي.

3 إعجابات

تم تقسيم 5 مشاركات إلى موضوع جديد: Having issues running tests on my WSL2 system

تم دمج الإصلاح وتم إصلاح الخلل، شكرًا لك! :rocket:

إعجاب واحد (1)