ઇનબોક્સમાં અરાજતા વગર Nodejs Digest ઇમેઇલ્સનું પરીક્ષણ કરવું

જ્યારે પ્રિવ્યૂ એન્વાયરમેન્ટ્સ (preview environments) એક જ શેર કરેલા મેઇલબોક્સમાં સારાંશ મોકલે છે, ત્યારે ડાયજેસ્ટ ઇમેઇલ્સ સમસ્યાઓ ઊભી કરે છે.

તમે કયો સંદેશ કયા બિલ્ડનો છે તેનો ટ્રેક ગુમાવી દો છો. અનસબ્સ્ક્રાઇબ લિંક (unsubscribe link) વર્તમાન છે કે નહીં તે તમે કહી શકતા નથી. ટેમ્પલેટ સાચા યુઝર સેગમેન્ટ સાથે મેળ ખાય છે કે નહીં તે ચકાસવામાં તમે નિષ્ફળ જાઓ છો.

ડાયજેસ્ટ ઇમેઇલ QA ને પ્રોડક્ટ પાથ તરીકે ગણો. JavaScript એપ ઇવેન્ટ શેડ્યૂલ કરે છે. Node.js કન્ટેન્ટ રેન્ડર કરે છે. ઇનબોક્સ ચેક અનુભવની પુષ્ટિ કરે છે. જો તમે કોઈપણ ભાગ છોડી દો છો, તો તમારા ટેસ્ટ ઝડપથી પાસ થશે પરંતુ તમને કંઈ જ જણાવશે નહીં.

ઘણી ટીમો ટેમ્પલેટ્સને સ્થાનિક રીતે (locally) રેન્ડર કરે છે અને HTML સ્નેપશોટ લે છે. આ વાચકને મળતા વાસ્તવિક સંદેશ સાબિત કરતું નથી.

અરાજતા (noise) મેઇલબોક્સનો ફરીથી ઉપયોગ કરવાથી આવે છે. સોમવારનો ડાયજેસ્ટ મંગળવારના રિટ્રાયની બાજુમાં હોય છે. ટીમનો કોઈ સભ્ય ખોટા સંદેશની લિંક પર ક્લિક કરી શકે છે. તમારો ટેસ્ટ 'ગ્રીન' બતાવશે જ્યારે તમારો રિવ્યુ ટ્રેલ અસ્તવ્યસ્ત હશે.

આ સરળ લૂપનો ઉપયોગ કરો:

  • બ્રાઉઝર ટેસ્ટ જાણીતા યુઝર સેગમેન્ટ માટે ડાયજેસ્ટ સિનારિયો ટ્રિગર કરે છે.
  • Node.js વાસ્તવિક સ્ટેજિંગ ડેટાનો ઉપયોગ કરીને ડાયજેસ્ટ જનરેટ કરે છે.
  • ટેસ્ટ તે ચોક્કસ રન માટે એક અલગ (isolated) ઇનબોક્સનો ઉપયોગ કરે છે.
  • રનર ડાયજેસ્ટ ખોલે છે અને સમરી બ્લોક્સ તપાસે છે.
  • ટેસ્ટ ચકાસે છે કે લિંક્સ અપેક્ષિત હોસ્ટ અને કેમ્પેઈન પેરામીટર્સ (campaign params) તરફ નિર્દેશિત કરે છે.

ઇમેઇલ એડ્રેસને ડિસ્પોઝેબલ ઇન્ફ્રાસ્ટ્રક્ચર તરીકે ગણો. દરેક સિનારિયો માટે કામચલાઉ મેઇલ બનાવો. આ એક અસ્થિર (flaky) જોબને આગામી જોબ બગાડતી અટકાવે છે.

"મેસેજ આવી ગયો" ત્યાં જ ન અટકો. એક સારો ટેસ્ટ આ વિગતો તપાસે છે:

  • જોબ સાચા સેગમેન્ટ માટે એક ડાયજેસ્ટ એન્ક્યુ (enqueue) કરે છે.
  • સબ્જેક્ટ લાઇન સાચી તારીખ દર્શાવે છે.
  • પ્રીહેડર (preheader) વર્તમાન ફીચર ફ્લેગ્સ સાથે મેળ ખાય છે.
  • લિંક્સ અપેક્ષિત હોસ્ટ અને UTM ટેગ્સનો ઉપયોગ કરે છે.
  • અનસબ્સ્ક્રાઇબ લિંક્સ સાચા એન્વાયરમેન્ટ પર જાય છે.
  • એક જ યુઝર માટે કોઈ ડુપ્લીકેટ ડાયજેસ્ટ દેખાતા નથી.

આ ત્રણ ભૂલો ટાળો:

  1. CI, પ્રિવ્યૂ બિલ્ડ્સ અને મેન્યુઅલ QA વચ્ચે એક જ મેઇલબોક્સ શેર કરવું.
  2. રેન્ડર કરેલા HTML ને અંતિમ લક્ષ્ય તરીકે ગણવું.
  3. જૂના (stale) ટેસ્ટ એકાઉન્ટ્સ સાફ કરવાનું ભૂલી જવું.

તમારી ચેકલિસ્ટ નાની રાખો જેથી તમે તેને વારંવાર ચલાવી શકો. આઇસોલેશન (Isolation) તમારા પરિણામોને વાંચવા યોગ્ય રાખે છે અને સુધારાઓને ઝડપી બનાવે છે.

Source: https://dev.to/ryanlee91/how-i-test-nodejs-digest-emails-without-shared-inbox-noise-54fh