ઇનબોક્સની અરાજકતા વગર પાસવર્ડલેસ લોગિનનું પરીક્ષણ કરો
ડેમોમાં પાસવર્ડલેસ લોગિન સરળ લાગે છે. વપરાશકર્તા ઇમેઇલ દાખલ કરે છે, મેજિક લિંક મેળવે છે, અને લોગિન કરે છે.
સ્ટેજિંગમાં, આ પ્રક્રિયા ખોરવાય છે. લિંક્સ શેર કરેલા ઇનબોક્સ અથવા જૂના ઇમેઇલ એલિયાસમાં પહોંચી જાય છે. પરીક્ષણ એક અવ્યવસ્થા બની જાય છે.
તમારે પાસવર્ડલેસ ઓથેન્ટિકેશનને એક સિંગલ સિસ્ટમ તરીકે ગણવું જોઈએ. તમારે JavaScript ક્લાયન્ટ, Node.js બેકએન્ડ, ઇમેઇલ ડિલિવરી અને અંતિમ સેશનનું પરીક્ષણ કરવાની જરૂર છે.
જો તમે ઇનબોક્સને અવગણશો, તો તમારા API ટેસ્ટ પાસ થઈ શકે છે પરંતુ વપરાશકર્તાનો અનુભવ (user experience) નિષ્ફળ જઈ શકે છે.
સામાન્ય નિષ્ફળતાઓમાં શામેલ છે:
- રીટ્રાય (retry) પછી બેકએન્ડ બે લિંક મોકલે છે.
- ઇમેઇલ ખોટા એન્વાયરમેન્ટ હોસ્ટ (environment host) તરફ નિર્દેશ કરે છે.
- જૂની લિંક તેના સમય કરતા વધુ સમય સુધી કામ કરે છે.
- કૂકી સેટ થાય તે પહેલાં ફ્રન્ટએન્ડ વપરાશકર્તાને લોગિન થયેલ તરીકે માર્ક કરે છે.
દરેક ટેસ્ટ રન માટે અલગ ઇનબોક્સનો ઉપયોગ કરો. આ તમારા ડેટાને સ્વચ્છ રાખશે અને ડિબગિંગ ઝડપી બનાવશે. જો ત્રણ ટેસ્ટ એક જ ઇનબોક્સનો ઉપયોગ કરે, તો તમે ભૂલ શોધી શકશો નહીં.
આ વર્કફ્લો અનુસરો:
- તમારા UI અથવા એન્ડ-ટુ-એન્ડ ટેસ્ટમાંથી લોગિન ટ્રિગર કરો.
- Node.js ને તમારા સ્ટેજિંગ પાથ દ્વારા લિંક મોકલવા દો.
- એક નવા, અલગ ઇનબોક્સમાં મેસેજ કેપ્ચર કરો.
- તે જ બ્રાઉઝર સેશનમાં નવીનતમ લિંક ખોલો.
- ઓથેન્ટિકેટેડ સ્ટેટ (authenticated state) ચકાસો.
એક સારું પરીક્ષણ માત્ર ઇમેઇલ આવ્યો છે કે નહીં તે તપાસવા કરતાં વધુ કામ કરે છે. આ સ્ટેપ્સ ક્રમમાં તપાસો:
- લોગિન રિક્વેસ્ટ એક ન્યુટ્રલ સક્સેસ રિસ્પોન્સ આપે છે.
- બરાબર એક જ નવી મેજિક લિંક અસ્તિત્વમાં છે.
- લિંક હોસ્ટ તમારા સ્ટેજિંગ ડોમેન સાથે મેળ ખાય છે.
- ટોકન એક માન્ય સેશન શરૂ કરે છે.
- સમાન લિંકનો ફરીથી ઉપયોગ કરવાથી નિષ્ફળતા મળે છે.
- એપ મેન્યુઅલ રિફ્રેશ વગર UI અપડેટ કરે છે.
બેકએન્ડ પર, તમારા લોગ્સ સાથે કોરિલેશન ID (correlation ID) જોડો. આ તમને રિક્વેસ્ટના નિર્માણથી લઈને અંતિમ સેશન સુધી ટ્રેક કરવામાં મદદ કરે છે.
તમારા બધા ટેસ્ટને ઇમેઇલ-ડ્રિવન ટેસ્ટ સાથે બદલી નાખો નહીં. લોજિક માટે ઝડપી યુનિટ ટેસ્ટનો ઉપયોગ કરો અને તમારા સ્ટેજિંગ સૂટ માટે આ ઇનબોક્સ પાથનો ઉપયોગ કરો.
શિપ (ship) કરતા પહેલા આ ચેકલિસ્ટનો ઉપયોગ કરો:
- લોગિન રિક્વેસ્ટ ફક્ત એક જ સક્રિય લિંક બનાવે છે.
- સ્ટેજિંગમાં નવીનતમ ઇમેઇલ પાર્સ (parse) કરવો સરળ છે.
- લિંક સાચા હોસ્ટ પર વપરાશકર્તાને સાઇન-ઇન કરે છે.
- લિંકનો બે વાર ઉપયોગ કરી શકાતો નથી.
- લોગઆઉટ અને ફરીથી લોગિન કરવાથી એક નવો ક્લીન ટોકન મળે છે.
