ਇਨਬਾਕਸ ਟਕਰਾਅ ਤੋਂ ਬਿਨਾਂ React ਇਨਵਾਈਟ ਈਮੇਲਾਂ ਦੀ ਟੈਸਟਿੰਗ ਕਰੋ
ਜਦੋਂ ਇਨਵਾਈਟ ਫਲੋਅ (invite flows) ਇੱਕ ਸਾਂਝੇ QA ਇਨਬਾਕਸ ਨੂੰ ਭਰ ਦਿੰਦੇ ਹਨ, ਤਾਂ ਪ੍ਰੀਵਿਊ ਵਾਤਾਵਰਣ (preview environments) ਅਸਫਲ ਹੋ ਜਾਂਦੇ ਹਨ।
ਇੱਕ ਟੈਸਟਰ ਗਲਤ ਲਿੰਕ ਖੋਲ੍ਹ ਲੈਂਦਾ ਹੈ। ਦੂਜਾ ਕੋਈ ਪੁਰਾਣਾ ਸੁਨੇਹਾ ਲੈ ਲੈਂਦਾ ਹੈ। ਟੀਮ ਇਸ ਬਾਰੇ ਬਹਿਸ ਕਰਦੀ ਹੈ ਕਿ ਕੀ React ਕੋਡ ਖਰਾਬ ਹੈ ਜਾਂ ਬੈਕਐਂਡ ਨੇ ਪੁਰਾਣਾ ਡੇਟਾ ਭੇਜਿਆ ਹੈ।
ਤੁਹਾਨੂੰ ਮੇਲਬਾਕਸ ਨੂੰ ਆਪਣੇ ਉਤਪਾਦ ਦੇ ਇੱਕ ਹਿੱਸੇ ਵਜੋਂ ਮੰਨਣਾ ਚਾਹੀਦਾ ਹੈ। ਜੇਕਰ ਤੁਹਾਡੀ ਆਨਬੋਰਡਿੰਗ (onboarding) ਈਮੇਲ 'ਤੇ ਨਿਰਭਰ ਹੈ, ਤਾਂ ਤੁਹਾਡੇ ਪ੍ਰੀਵਿਊ ਵਾਤਾਵਰਣਾਂ ਨੂੰ ਇੱਕ ਆਇਸੋਲੇਸ਼ਨ ਰਣਨੀਤੀ (isolation strategy) ਦੀ ਲੋੜ ਹੈ। ਇਸ ਤੋਂ ਬਿਨਾਂ, ਤੁਹਾਡਾ ਫੀਡਬੈਕ ਲੂਪ ਹੌਲੀ ਹੋ ਜਾਂਦਾ ਹੈ।
ਪ੍ਰੀਵਿਊ ਬ੍ਰਾਂਚਾਂ ਵਿੱਚ ਆਮ ਅਸਫਲਤਾ ਦੇ ਤਰੀਕੇ:
- ਈਮੇਲ ਲਿੰਕ ਇੱਕ ਪੁਰਾਣੇ ਡਿਪਲਾਈਮੈਂਟ (deployment) ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ।
- ਦੁਬਾਰਾ ਕੀਤੇ ਗਏ API ਕਾਲ ਇੱਕ ਉਪਭੋਗਤਾ ਲਈ ਦੋ ਇਨਵਾਈਟ ਬਣਾਉਂਦੇ ਹਨ।
- UI ਇਨਵਾਈਟ ਨੂੰ ਸਵੀਕਾਰ ਕਰ ਲੈਂਦਾ ਹੈ ਪਰ ਪੁਰਾਣਾ ਮੈਂਬਰਸ਼ਿਪ ਡੇਟਾ ਦਿਖਾਉਂਦਾ ਹੈ।
- ਇੱਕ ਟੈਸਟਰ ਦੂਜੇ ਵਿਅਕਤੀ ਦੁਆਰਾ ਬ੍ਰਾਂਚ ਨੂੰ ਵੈਰੀਫਾਈ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਟੋਕਨ ਦੀ ਵਰਤੋਂ ਕਰ ਲੈਂਦਾ ਹੈ।
ਸਾਂਝੇ ਇਨਬਾਕਸ ਅਸਥਿਰ ਟੈਸਟ (flaky tests) ਅਤੇ ਘੱਟ ਭਰੋਸਾ ਪੈਦਾ ਕਰਦੇ ਹਨ।
ਇਸ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਇਸ ਸਰਲ ਪ੍ਰਕਿਰਿਆ ਦੀ ਵਰਤੋਂ ਕਰੋ:
- ਪ੍ਰੀਵਿਊ ਵਾਤਾਵਰਣ ਵਿੱਚ ਅਸਲੀ React ਐਡਮਿਨ ਸਕ੍ਰੀਨ ਤੋਂ ਇਨਵਾਈਟ ਬਣਾਓ।
- ਉਹੀ ਬੈਕਐਂਡ ਪਾਥ, ਟੈਂਪਲੇਟਸ ਅਤੇ ਟੋਕਨ ਲੌਜਿਕ ਵਰਤੋ ਜੋ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
- ਸੁਨੇਹੇ ਨੂੰ ਸਿਰਫ ਉਸ ਰਨ ਲਈ ਬਣਾਏ ਗਏ ਇੱਕ ਥੋੜ੍ਹੇ ਸਮੇਂ ਦੇ ਇਨਬਾਕਸ ਵੱਲ ਰੂਟ ਕਰੋ।
- ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਲਿੰਕ ਖੋਲ੍ਹੋ ਅਤੇ ਐਪ ਦੀ ਸਥਿਤੀ (app state) ਦੀ ਜਾਂਚ ਕਰੋ।
ਡਿਸਪੋਜ਼ੇਬਲ ਈਮੇਲ ਜਨਰੇਟਰ (Disposable email generators) ਤੇਜ਼ ਬ੍ਰਾਂਚ ਵੈਲੀਡੇਸ਼ਨ ਲਈ ਵਧੀਆ ਕੰਮ ਕਰਦੇ ਹਨ। ਇਹ ਤੁਹਾਡੇ ਫਲੋਅ ਨੂੰ ਸਰਲ ਰੱਖਦੇ ਹਨ।
ਇੱਕ ਚੰਗੇ ਪ੍ਰੀਵਿਊ ਟੈਸਟ ਵਿੱਚ ਇਹ ਚੀਜ਼ਾਂ ਚੈੱਕ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ:
- ਈਮੇਲ ਵਿੱਚ ਉਸ ਬ੍ਰਾਂਚ ਲਈ ਸਹੀ ਪ੍ਰੀਵਿਊ ਹੋਸਟ (preview host) ਹੈ।
- ਪ੍ਰਾਪਤਕਰਤਾ ਲਈ ਸਿਰਫ ਇੱਕ ਹੀ ਐਕਟਿਵ ਇਨਵਾਈਟ ਲਿੰਕ ਮੌਜੂਦ ਹੈ।
- ਟੋਕਨ ਸਹੀ ਵਰਕਸਪੇਸ ਅਤੇ ਰੋਲ (role) 'ਤੇ ਪਹੁੰਚਦਾ ਹੈ।
- React ਐਪ ਮੈਨੂਅਲ ਰੀਲੋਡ ਤੋਂ ਬਿਨਾਂ ਐਕਸੈਸ ਸਟੇਟ ਨੂੰ ਅਪਡੇਟ ਕਰਦੀ ਹੈ।
- ਸਵੀਕਾਰ ਕਰਨ ਤੋਂ ਬਾਅਦ ਦੂਜੀ ਵਾਰ ਲਿੰਕ 'ਤੇ ਕਲਿੱਕ ਕਰਨ ਨਾਲ ਅਸਫਲਤਾ ਮਿਲਦੀ ਹੈ।
ਫਰੰਟਐਂਡ ਅਸਰਸ਼ਨ (frontend assertion) ਨੂੰ ਨਾ ਭੁੱਲੋ। ਬੈਕਐਂਡ ਲੌਗ ਸਫਲਤਾ ਦਿਖਾ ਸਕਦੇ ਹਨ ਜਦੋਂ ਕਿ ਕਲਾਇੰਟ ਅਜੇ ਵੀ ਪੈਂਡਿੰਗ ਸਟੇਟ ਦਿਖਾ ਰਿਹਾ ਹੋਵੇ। ਉਪਭੋਗਤਾ ਇਸ ਨੂੰ ਤੁਰੰਤ ਨੋਟ ਕਰਦੇ ਹਨ।
ਇਨਵਾਈਟ ਬਣਾਉਣ ਤੋਂ ਲੈ ਕੇ ਅੰਤਿਮ ਐਕਟੀਵੇਸ਼ਨ ਤੱਕ ਕੋਰੀਲੇਸ਼ਨ ਆਈਡੀ (correlation ID) ਜੋੜਨਾ ਸਮਾਂ ਬਚਾਉਂਦਾ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਇਹ ਲੱਭਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਐਨਵਾਇਰਨਮੈਂਟ ਵੇਰੀਏਬਲਜ਼ (environment variables) ਕਾਰਨ ਟੈਂਪਲੇਟ ਵਿੱਚ ਗਲਤ ਹੋਸਟ ਆ ਗਿਆ ਹੈ।
ਮਕਸਦ ਹਰ ਜਗ੍ਹਾ ਡਿਸਪੋਜ਼ੇਬਲ ਇਨਬਾਕਸ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਨਹੀਂ ਹੈ। ਮਕਸਦ ਯਥਾਰਥਵਾਦੀ ਇਨਵਾਈਟ ਪਾਥ ਨੂੰ ਆਇਸੋਲੇਟ ਕਰਨਾ ਹੈ। ਇਹ ਪ੍ਰੋਡਕਸ਼ਨ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਰੈਗਰੈਸ਼ਨ (regressions) ਨੂੰ ਫੜ ਲੈਂਦਾ ਹੈ।
ਇਨਵਾਈਟ ਫਲੋਅ ਵਿੱਚ ਬਦਲਾਅ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਚੈੱਕਲਿਸਟ ਦੀ ਵਰਤੋਂ ਕਰੋ:
- ਈਮੇਲ ਸਹੀ ਪ੍ਰੀਵਿਊ ਡਿਪਲਾਈਮੈਂਟ ਨਾਲ ਲਿੰਕ ਹੁੰਦੀ ਹੈ।
- ਟੋਕਨ ਸਹੀ ਵਰਕਸਪੇਸ ਅਤੇ ਰੋਲ ਨਾਲ ਮੈਪ ਹੁੰਦਾ ਹੈ।
- ਦੂਜੀ ਵਾਰ ਕਲਿੱਕ ਕਰਨ 'ਤੇ ਉਹੀ ਟੋਕਨ ਦੁਬਾਰਾ ਵਰਤਿਆ ਨਹੀਂ ਜਾਂਦਾ।
- ਸਵੀਕਾਰ ਕੀਤੀ ਗਈ ਸਥਿਤੀ (accepted state) ਵਾਧੂ ਨੈਵੀਗੇਸ਼ਨ ਤੋਂ ਬਿਨਾਂ UI ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ।
- ਮੇਲਬਾਕਸ ਦੀ ਪਛਾਣ ਕਰਨਾ ਅਤੇ ਇਸਨੂੰ ਡਿਸਕਾਰਡ ਕਰਨਾ ਆਸਾਨ ਹੈ।
