diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 653e926a10b739677ebc3d928dcb6820036b2f42..17b88a71aecc14f48d09adb1bd92aaff36e0c97b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -24,6 +24,7 @@ pytest:
   - python3 test_pemesanan.py
   - python3 test_riwayatTransaksi.py
   - python3 test_Keanggotaan.py
+  - python3 test_pembayaran.py
   tags: 
   - RPL
   
diff --git a/src/__pycache__/Keanggotaan.cpython-38.pyc b/src/__pycache__/Keanggotaan.cpython-38.pyc
index cb58d7fd24ece91ae69ef0150003e600fff6214a..cba5bb49d71f5650d238c8b6612c7847f7c09ced 100644
Binary files a/src/__pycache__/Keanggotaan.cpython-38.pyc and b/src/__pycache__/Keanggotaan.cpython-38.pyc differ
diff --git a/src/__pycache__/Keanggotaan_UI.cpython-38.pyc b/src/__pycache__/Keanggotaan_UI.cpython-38.pyc
index 3bc92f1ec11d2d3ff8234b72df21331c08082cfd..a528b806f002564d7a7cd5748196f3af3fe1d3d7 100644
Binary files a/src/__pycache__/Keanggotaan_UI.cpython-38.pyc and b/src/__pycache__/Keanggotaan_UI.cpython-38.pyc differ
diff --git a/src/__pycache__/RiwayatTransaksi.cpython-38.pyc b/src/__pycache__/RiwayatTransaksi.cpython-38.pyc
index ffe1402a077de03fbeeee4c564c2a056f7a3284a..182f3f573d58530df0c58e409557d29b3ce888ad 100644
Binary files a/src/__pycache__/RiwayatTransaksi.cpython-38.pyc and b/src/__pycache__/RiwayatTransaksi.cpython-38.pyc differ
diff --git a/src/__pycache__/RiwayatTransaksi_display.cpython-38.pyc b/src/__pycache__/RiwayatTransaksi_display.cpython-38.pyc
index 88644d0fe0cf740c13a4687ba2e830f1178e7a87..734e9da1a10d788e16d60114a872493c34a51e41 100644
Binary files a/src/__pycache__/RiwayatTransaksi_display.cpython-38.pyc and b/src/__pycache__/RiwayatTransaksi_display.cpython-38.pyc differ
diff --git a/src/__pycache__/pembayaran.cpython-38.pyc b/src/__pycache__/pembayaran.cpython-38.pyc
index be2d53aa80dcdcf94a04ee6f33fd17de408148b3..445f2684d09088147fb16596473d319116df9ecf 100644
Binary files a/src/__pycache__/pembayaran.cpython-38.pyc and b/src/__pycache__/pembayaran.cpython-38.pyc differ
diff --git a/src/__pycache__/pembayaran_display.cpython-38.pyc b/src/__pycache__/pembayaran_display.cpython-38.pyc
index 647e9aa629e1565ee51ea1bca033ac2925299147..60716ce5f56ead06639c0616b105d2eb2c2f080a 100644
Binary files a/src/__pycache__/pembayaran_display.cpython-38.pyc and b/src/__pycache__/pembayaran_display.cpython-38.pyc differ
diff --git a/src/__pycache__/pemesanan_ui_fix.cpython-38.pyc b/src/__pycache__/pemesanan_ui_fix.cpython-38.pyc
index 61a9fa455cef4fa158a1bb7ec08555c8bfaeee68..b7328000c30d70007e580e4f62a52382a3d2377d 100644
Binary files a/src/__pycache__/pemesanan_ui_fix.cpython-38.pyc and b/src/__pycache__/pemesanan_ui_fix.cpython-38.pyc differ
diff --git a/test/test_pembayaran.py b/test/test_pembayaran.py
new file mode 100644
index 0000000000000000000000000000000000000000..4f6af21f327637c4ffd883aecbd1af0767051a18
--- /dev/null
+++ b/test/test_pembayaran.py
@@ -0,0 +1,53 @@
+import sys
+# sys.path.insert(0, '../src')
+sys.path.append('/Users/cynthiathena/Documents/IF/RPL/tubes/if2250-2020-k02-2-sanskmanajemen/src')
+
+import pembayaran as bayar
+import datetime
+import sqlalchemy as db
+from engine_needed import metadata, engine, connection
+
+DaftarPemesanan = db.Table('daftarpemesanan', metadata, autoload = True, autoload_with = engine)
+RiwayatTransaksi = db.Table('riwayattransaksi', metadata, autoload = True, autoload_with = engine)
+
+resultset = []
+result = []
+
+def test_is_order_exist():
+    assert bayar.is_order_exist(10) == True
+    assert bayar.is_order_exist(0) == False
+
+def test_fetch_order():
+    query = query = db.insert(DaftarPemesanan).values(NomorAntrian = 0, Nama = 'test', Durasi = 3, Tanggal = datetime.date(1988, 6, 20), Waktu = datetime.time(12, 0), NomorRuangan = 1, StatusPemesanan = 'memesan', Harga = 100000, IDAnggota = 0)
+    proxy = connection.execute(query)
+    
+    order_id = 0
+    assert bayar.fetch_order(order_id,resultset) == True
+
+    max = db.func.max(DaftarPemesanan.columns.NomorAntrian)
+    proxy = connection.execute(max)
+    assert resultset == [(max, 'test', 2, datetime.date(1988, 6, 20), datetime.time(12, 0), 1, 'memesan', 100000, 5)]
+
+    query = db.delete(DaftarPemesanan)
+    query = query.where(DaftarPemesanan.columns.NomorAntrian == max)
+    proxy = connection.execute(query)
+
+def test_update_invoice():
+    query = query = db.insert(DaftarPemesanan).values(NomorAntrian = 0, Nama = 'test', Durasi = 3, Tanggal = datetime.date(1988, 6, 20), Waktu = datetime.time(12, 0), NomorRuangan = 1, StatusPemesanan = 'memesan', Harga = 100000, IDAnggota = 0)
+    proxy = connection.execute(query)
+    
+    max_order = db.func.max(DaftarPemesanan.columns.NomorAntrian)
+    proxy = connection.execute(max_order)
+
+    assert bayar.update_invoice(resultset,result) == True
+    
+    max_trans = db.func.max(RiwayatTransaksi.columns.NomorTransaksi)
+    proxy = connection.execute(max_trans)
+
+    query = db.delete(RiwayatTransaksi)
+    query = query.where(RiwayatTransaksi.columns.NomorTransaksi == max_trans)
+    proxy = connection.execute(query)
+
+    uery = db.delete(DaftarPemesanan)
+    query = query.where(DaftarPemesanan.columns.NomorAntrian == max)
+    proxy = connection.execute(query)