![]() | |
Sepeda Motor Listrik PROSTREETMerk : PROSTREET KITKAT - Type : Sepeda Listrik - Battery : 48V/ 20AH - Motor Power : 650WATT - Kecepatan Max : 45km/ - Jarak Tempuh : ± 60 KM - Daya Angkut : Max. 150 Kg Free Klik Disini ! |
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: