Bicara Itu Ada SeninyaKetika komunikasi menjadi hal yang penting untuk bersaing, pakar komunikasi Oh Su Hyang mengeluarkan buku yang sangat berarti. Selain berisi tentang pengalaman peningkatan diri, buku ini juga memuat berbagai konten mengenai teknik komunikasi, persuasi, dan negosiasi. Buy |
Pada tutorial service OTP bagian ke-dua kita telah belajar tentang sequence diagram, dari sequence diagram kita telah mendapatkan garis besar service OTP yang akan kita buat.
Dibagian kedua ini kita akan mempelajari beberapa hal :
class Otpservice(CreateUpdate):
phone_number = models.CharField(max_length=35)
otp_number = models.IntegerField()
expired_unixtime = models.IntegerField()
validate = models.BooleanField(default=False)
Dari class model Otpservice(), dapat kita pelajari bahwa kita akan membuat table dengan field phone_number, otp_number, expired_unixtime, validate
class CreateOTPSerializer(serializers.Serializer):
phone_number = serializers.CharField(max_length=50)
class ValidateOTPSerializer(serializers.Serializer):
phone_number = serializers.CharField(max_length=50)
otp_number = serializers.CharField(max_length=50)
def create_expired_unixtime(expired=None):
if expired == None:
expired = 5
curent_time = datetime.now()
curent_unix_time = curent_time.timestamp()
expired_time = curent_unix_time + (expired * 60)
return expired_timedef generate_random_otp():
fixed_digits = 6
return random.randrange(111111, 999999, fixed_digits)
Code sample:
def test_create_otp_failed(self):
status, message = create_otp({})
self.assertEqual(status, False)
self.assertRaisesMessage(Exception, message)
Video makemigrations dan unit test:
github: https://github.com/halovina/otpservice/tree/model-serializers
Baca artikel lainya: