ఇన్బాక్స్లో గందరగోళం లేకుండా Nodejs డైజెస్ట్ ఈమెయిల్స్ను పరీక్షించడం
ప్రివ్యూ ఎన్విరాన్మెంట్లు ఒకే షేర్డ్ మెయిల్బాక్స్కు సమ్మరీలను పంపినప్పుడు డైజెస్ట్ ఈమెయిల్స్ సమస్యలను కలిగిస్తాయి.
ఏ మెసేజ్ ఏ బిల్డ్కు సంబంధించిందో మీరు గుర్తించలేరు. అన్సబ్స్క్రైబ్ లింక్ ప్రస్తుతమైనదా కాదా అని మీరు చెప్పలేరు. టెంప్లేట్ సరైన యూజర్ సెగ్మెంట్కు సరిపోతుందో లేదో మీరు ధృవీకరించలేరు.
డైజెస్ట్ ఈమెయిల్ QAను ఒక ప్రొడక్ట్ పాత్గా పరిగణించండి. JavaScript యాప్ ఈవెంట్ను షెడ్యూల్ చేస్తుంది. Node.js కంటెంట్ను రెండర్ చేస్తుంది. ఇన్బాక్స్ చెక్ అనుభవాన్ని ధృవీకరిస్తుంది. మీరు ఏదైనా భాగాన్ని వదిలేస్తే, మీ టెస్ట్లు వేగంగా పాస్ అవుతాయి కానీ మీకు ఏమీ తెలియదు.
చాలా టీమ్లు టెంప్లేట్లను లోకల్గా రెండర్ చేసి, HTML స్నాప్షాట్లను తీసుకుంటాయి. ఇది పాఠకుడు పొందే అసలైన మెసేజ్ను నిరూపించదు.
మెయిల్బాక్స్ను మళ్లీ ఉపయోగించడం వల్ల ఈ గందరగోళం వస్తుంది. సోమవారం డైజెస్ట్, మంగళవారం రీట్రై పక్కనే ఉంటుంది. టీమ్ సభ్యుడు తప్పు మెసేజ్ నుండి లింక్ను క్లిక్ చేయవచ్చు. మీ రివ్యూ ట్రయల్ గందరగోళంగా ఉన్నప్పటికీ, మీ టెస్ట్ 'గ్రీన్' అని చూపిస్తుంది.
ఈ సరళమైన లూప్ను ఉపయోగించండి:
- బ్రౌజర్ టెస్ట్ ఒక తెలిసిన యూజర్ సెగ్మెంట్ కోసం డైజెస్ట్ సినారియోను ట్రిగ్గర్ చేస్తుంది.
- Node.js రియల్ స్టేజింగ్ డేటాను ఉపయోగించి డైజెస్ట్ను రూపొందిస్తుంది.
- ఆ నిర్దిష్ట రన్ కోసం టెస్ట్ ఒక ఐసోలేటెడ్ ఇన్బాక్స్ను ఉపయోగిస్తుంది.
- రన్నర్ డైజెస్ట్ను ఓపెన్ చేసి సమ్మరీ బ్లాక్లను తనిఖీ చేస్తుంది.
- లింక్లు ఆశించిన హోస్ట్ మరియు క్యాంపెయిన్ పారామీటర్లను సూచిస్తున్నాయో లేదో టెస్ట్ ధృవీకరిస్తుంది.
ఈమెయిల్ అడ్రస్లను డిస్పోజబుల్ ఇన్ఫ్రాస్ట్రక్చర్గా పరిగణించండి. ప్రతి సినారియో కోసం తాత్కాలిక మెయిల్ సృష్టించండి. ఇది ఒక ఫ్లేకీ జాబ్ తదుపరి జాబ్ను దెబ్బతీయకుండా నిరోధిస్తుంది.
"మెసేజ్ వచ్చింది" అని మాత్రమే ఆగిపోకండి. ఒక మంచి టెస్ట్ ఈ వివరాలను తనిఖీ చేస్తుంది:
- జాబ్ సరైన సెగ్మెంట్ కోసం ఒక డైజెస్ట్ను ఎన్క్యూ చేస్తుంది.
- సబ్జెక్ట్ లైన్ సరైన తేదీని చూపుతుంది.
- ప్రీహెడర్ ప్రస్తుత ఫీచర్ ఫ్లాగ్లతో సరిపోలుతుంది.
- లింక్లు ఆశించిన హోస్ట్ మరియు UTM ట్యాగ్లను ఉపయోగిస్తాయి.
- అన్సబ్స్క్రైబ్ లింక్లు సరైన ఎన్విరాన్మెంట్కు చేరుతాయి.
- ఒకే యూజర్కు డూప్లికేట్ డైజెస్ట్లు కనిపించవు.
ఈ మూడు తప్పులను నివారించండి:
- CI, ప్రివ్యూ బిల్డ్లు మరియు మాన్యువల్ QA మధ్య ఒకే మెయిల్బాక్స్ను పంచుకోవడం.
- రెండర్ చేసిన HTMLను తుది లక్ష్యంగా పరిగణించడం.
- పాత టెస్ట్ అకౌంట్లను క్లీన్ చేయడం మర్చిపోవడం.
మీ చెక్లిస్ట్ను చిన్నదిగా ఉంచుకోండి, తద్వారా మీరు దానిని తరచుగా రన్ చేయవచ్చు. ఐసోలేషన్ మీ ఫలితాలను స్పష్టంగా ఉంచుతుంది మరియు ఫిక్స్లను వేగవంతం చేస్తుంది.
Source: https://dev.to/ryanlee91/how-i-test-nodejs-digest-emails-without-shared-inbox-noise-54fh
