From e964fda54a72732c5d8bdb60c9247e4f055c3595 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Wed, 7 Apr 2021 20:42:11 +0200 Subject: [PATCH] Fix tests and barcode ID import --- .../importexport/CsvDatabaseImporter.java | 4 +++ .../protect/card_locker/DatabaseTest.java | 30 +++++++++++----- .../protect/card_locker/ImportExportTest.java | 34 ++++++++++++++----- .../protect/card_locker/ImportURITest.java | 34 ++++++++++--------- 4 files changed, 70 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/protect/card_locker/importexport/CsvDatabaseImporter.java b/app/src/main/java/protect/card_locker/importexport/CsvDatabaseImporter.java index 10f68be27..f1aa773e2 100644 --- a/app/src/main/java/protect/card_locker/importexport/CsvDatabaseImporter.java +++ b/app/src/main/java/protect/card_locker/importexport/CsvDatabaseImporter.java @@ -253,6 +253,10 @@ public class CsvDatabaseImporter implements DatabaseImporter } String barcodeId = CSVHelpers.extractString(DBHelper.LoyaltyCardDbIds.BARCODE_ID, record, ""); + if(barcodeId.isEmpty()) + { + barcodeId = null; + } BarcodeFormat barcodeType = null; String unparsedBarcodeType = CSVHelpers.extractString(DBHelper.LoyaltyCardDbIds.BARCODE_TYPE, record, ""); diff --git a/app/src/test/java/protect/card_locker/DatabaseTest.java b/app/src/test/java/protect/card_locker/DatabaseTest.java index 287a3bc02..0a9e152af 100644 --- a/app/src/test/java/protect/card_locker/DatabaseTest.java +++ b/app/src/test/java/protect/card_locker/DatabaseTest.java @@ -58,8 +58,10 @@ public class DatabaseTest assertEquals(new BigDecimal("0"), loyaltyCard.balance); assertEquals(null, loyaltyCard.balanceType); assertEquals("cardId", loyaltyCard.cardId); - assertEquals(0, loyaltyCard.starStatus); + assertEquals(null, loyaltyCard.barcodeId); assertEquals(BarcodeFormat.UPC_A, loyaltyCard.barcodeType); + assertEquals(DEFAULT_HEADER_COLOR, loyaltyCard.headerColor); + assertEquals(0, loyaltyCard.starStatus); result = db.deleteLoyaltyCard(1); assertTrue(result); @@ -87,8 +89,10 @@ public class DatabaseTest assertEquals(new BigDecimal("10.00"), loyaltyCard.balance); assertEquals(Currency.getInstance("EUR"), loyaltyCard.balanceType); assertEquals("cardId1", loyaltyCard.cardId); - assertEquals(0, loyaltyCard.starStatus); + assertEquals(null, loyaltyCard.barcodeId); assertEquals(BarcodeFormat.AZTEC, loyaltyCard.barcodeType); + assertEquals(DEFAULT_HEADER_COLOR, loyaltyCard.headerColor); + assertEquals(0, loyaltyCard.starStatus); } @Test @@ -111,8 +115,10 @@ public class DatabaseTest assertEquals(new BigDecimal("0"), loyaltyCard.balance); assertEquals(null, loyaltyCard.balanceType); assertEquals("cardId", loyaltyCard.cardId); - assertEquals(1, loyaltyCard.starStatus); + assertEquals(null, loyaltyCard.barcodeId); assertEquals(BarcodeFormat.UPC_A, loyaltyCard.barcodeType); + assertEquals(DEFAULT_HEADER_COLOR, loyaltyCard.headerColor); + assertEquals(1, loyaltyCard.starStatus); } @Test @@ -129,7 +135,7 @@ public class DatabaseTest @Test public void emptyGiftCardValues() { - long id = db.insertLoyaltyCard("", "", null, new BigDecimal("0"), null, "", "", null, null, 0); + long id = db.insertLoyaltyCard("", "", null, new BigDecimal("0"), null, "", null, null, null, 0); boolean result = (id != -1); assertTrue(result); assertEquals(1, db.getLoyaltyCardCount()); @@ -142,7 +148,10 @@ public class DatabaseTest assertEquals(new BigDecimal("0"), loyaltyCard.balance); assertEquals(null, loyaltyCard.balanceType); assertEquals("", loyaltyCard.cardId); + assertEquals(null, loyaltyCard.barcodeId); assertEquals(null, loyaltyCard.barcodeType); + // headerColor is randomly generated when not given, so skip + assertEquals(0, loyaltyCard.starStatus); } @Test @@ -177,9 +186,10 @@ public class DatabaseTest assertEquals("0", cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BALANCE))); assertEquals(null, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BALANCE_TYPE))); assertEquals("cardId"+index, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.CARD_ID))); + assertEquals(null, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_ID))); assertEquals(BarcodeFormat.UPC_A.toString(), cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_TYPE))); - assertEquals(0, cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.STAR_STATUS))); assertEquals(index, cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.HEADER_COLOR))); + assertEquals(0, cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.STAR_STATUS))); cursor.moveToNext(); } @@ -226,9 +236,10 @@ public class DatabaseTest assertEquals("0", cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BALANCE))); assertEquals(null, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BALANCE_TYPE))); assertEquals("cardId"+index, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.CARD_ID))); + assertEquals(null, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_ID))); assertEquals(BarcodeFormat.UPC_A.toString(), cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_TYPE))); - assertEquals(1, cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.STAR_STATUS))); assertEquals(index, cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.HEADER_COLOR))); + assertEquals(1, cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.STAR_STATUS))); cursor.moveToNext(); @@ -240,9 +251,10 @@ public class DatabaseTest assertEquals("0", cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BALANCE))); assertEquals(null, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BALANCE_TYPE))); assertEquals("cardId"+index, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.CARD_ID))); + assertEquals(null, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_ID))); assertEquals(BarcodeFormat.UPC_A.toString(), cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_TYPE))); - assertEquals(0, cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.STAR_STATUS))); assertEquals(index, cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.HEADER_COLOR))); + assertEquals(0, cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.STAR_STATUS))); cursor.moveToNext(); } @@ -480,13 +492,15 @@ public class DatabaseTest // Determine that the entries are queryable and the fields are correct LoyaltyCard card = db.getLoyaltyCard(newCardId); assertEquals("store", card.store); + assertEquals("", card.note); assertEquals(null, card.expiry); assertEquals(new BigDecimal("0"), card.balance); assertEquals(null, card.balanceType); assertEquals("cardId", card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BarcodeFormat.UPC_A, card.barcodeType); - assertEquals("", card.note); assertEquals(null, card.headerColor); + assertEquals(0, card.starStatus); database.close(); } diff --git a/app/src/test/java/protect/card_locker/ImportExportTest.java b/app/src/test/java/protect/card_locker/ImportExportTest.java index 2f25f2c8e..1eebe607e 100644 --- a/app/src/test/java/protect/card_locker/ImportExportTest.java +++ b/app/src/test/java/protect/card_locker/ImportExportTest.java @@ -126,6 +126,7 @@ public class ImportExportTest assertEquals(new BigDecimal("0"), card.balance); assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BARCODE_TYPE, card.barcodeType); assertEquals(Integer.valueOf(0), card.headerColor); assertEquals(0, card.starStatus); @@ -141,6 +142,7 @@ public class ImportExportTest assertEquals(new BigDecimal("0"), card.balance); assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BARCODE_TYPE, card.barcodeType); assertEquals(Integer.valueOf(0), card.headerColor); assertEquals(0, card.starStatus); @@ -157,6 +159,7 @@ public class ImportExportTest assertEquals(new BigDecimal("0"), card.balance); assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BARCODE_TYPE, card.barcodeType); assertEquals(Integer.valueOf(0), card.headerColor); assertEquals(0, card.starStatus); @@ -174,6 +177,7 @@ public class ImportExportTest assertEquals(new BigDecimal("0"), card.balance); assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BARCODE_TYPE, card.barcodeType); assertEquals(Integer.valueOf(0), card.headerColor); assertEquals(0, card.starStatus); @@ -214,9 +218,11 @@ public class ImportExportTest assertEquals(expectedStore, card.store); assertEquals(expectedNote, card.note); + assertEquals(null, card.expiry); assertEquals(new BigDecimal(String.valueOf(index)), card.balance); assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BARCODE_TYPE, card.barcodeType); assertEquals(Integer.valueOf(index), card.headerColor); assertEquals(0, card.starStatus); @@ -246,9 +252,11 @@ public class ImportExportTest assertEquals(expectedStore, card.store); assertEquals(expectedNote, card.note); + assertEquals(null, card.expiry); assertEquals(new BigDecimal(String.valueOf(index)), card.balance); assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BARCODE_TYPE, card.barcodeType); assertEquals(Integer.valueOf(index), card.headerColor); assertEquals(1, card.starStatus); @@ -266,9 +274,11 @@ public class ImportExportTest assertEquals(expectedStore, card.store); assertEquals(expectedNote, card.note); + assertEquals(null, card.expiry); assertEquals(new BigDecimal(String.valueOf(index)), card.balance); assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BARCODE_TYPE, card.barcodeType); assertEquals(Integer.valueOf(index), card.headerColor); assertEquals(0, card.starStatus); @@ -618,9 +628,10 @@ public class ImportExportTest assertEquals(new BigDecimal("0"), card.balance); assertEquals(null, card.balanceType); assertEquals("12345", card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BarcodeFormat.AZTEC, card.barcodeType); - assertEquals(0, card.starStatus); assertNull(card.headerColor); + assertEquals(0, card.starStatus); clearDatabase(); } @@ -655,9 +666,10 @@ public class ImportExportTest assertEquals(new BigDecimal("0"), card.balance); assertEquals(null, card.balanceType); assertEquals("12345", card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BarcodeFormat.AZTEC, card.barcodeType); - assertEquals(0, card.starStatus); assertNull(card.headerColor); + assertEquals(0, card.starStatus); clearDatabase(); } @@ -717,9 +729,10 @@ public class ImportExportTest assertEquals(new BigDecimal("0"), card.balance); assertEquals(null, card.balanceType); assertEquals("12345", card.cardId); + assertEquals(null, card.barcodeId); assertEquals(null, card.barcodeType); - assertEquals(0, card.starStatus); assertEquals(1, (long) card.headerColor); + assertEquals(0, card.starStatus); clearDatabase(); } @@ -754,9 +767,10 @@ public class ImportExportTest assertEquals(new BigDecimal("0"), card.balance); assertEquals(null, card.balanceType); assertEquals("12345", card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BarcodeFormat.AZTEC, card.barcodeType); - assertEquals(1, card.starStatus); assertEquals(1, (long) card.headerColor); + assertEquals(1, card.starStatus); clearDatabase(); } @@ -791,9 +805,10 @@ public class ImportExportTest assertEquals(new BigDecimal("0"), card.balance); assertEquals(null, card.balanceType); assertEquals("12345", card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BarcodeFormat.AZTEC, card.barcodeType); - assertEquals(0, card.starStatus); assertEquals(1, (long) card.headerColor); + assertEquals(0, card.starStatus); clearDatabase(); } @@ -847,9 +862,10 @@ public class ImportExportTest assertEquals(new BigDecimal("0"), card.balance); assertEquals(null, card.balanceType); assertEquals("12345", card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BarcodeFormat.AZTEC, card.barcodeType); - assertEquals(0, card.starStatus); assertEquals(1, (long) card.headerColor); + assertEquals(0, card.starStatus); clearDatabase(); } @@ -894,9 +910,10 @@ public class ImportExportTest assertEquals(new BigDecimal("0"), card.balance); assertEquals(Currency.getInstance("USD"), card.balanceType); assertEquals("123456", card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BarcodeFormat.CODE_128, card.barcodeType); - assertEquals(0, card.starStatus); assertEquals(Color.GRAY, (long) card.headerColor); + assertEquals(0, card.starStatus); card = db.getLoyaltyCard(2); @@ -906,9 +923,10 @@ public class ImportExportTest assertEquals(new BigDecimal("3.5"), card.balance); assertEquals(Currency.getInstance("USD"), card.balanceType); assertEquals("26846363", card.cardId); + assertEquals(null, card.barcodeId); assertEquals(BarcodeFormat.CODE_39, card.barcodeType); - assertEquals(0, card.starStatus); assertEquals(Color.rgb(128, 0, 128), (long) card.headerColor); + assertEquals(0, card.starStatus); clearDatabase(); } diff --git a/app/src/test/java/protect/card_locker/ImportURITest.java b/app/src/test/java/protect/card_locker/ImportURITest.java index e0fbe261a..93f41ec25 100644 --- a/app/src/test/java/protect/card_locker/ImportURITest.java +++ b/app/src/test/java/protect/card_locker/ImportURITest.java @@ -52,16 +52,16 @@ public class ImportURITest { LoyaltyCard parsedCard = importURIHelper.parse(cardUri); // Compare everything - assertEquals(card.barcodeType, parsedCard.barcodeType); - assertEquals(card.barcodeId, parsedCard.barcodeId); - assertEquals(card.cardId, parsedCard.cardId); - assertEquals(card.headerColor, parsedCard.headerColor); + assertEquals(card.store, parsedCard.store); assertEquals(card.note, parsedCard.note); assertEquals(card.expiry, parsedCard.expiry); assertEquals(card.balance, parsedCard.balance); assertEquals(card.balanceType, parsedCard.balanceType); - assertEquals(card.store, parsedCard.store); - // No export of starStatus for single cards foreseen therefore 0 will be imported + assertEquals(card.cardId, parsedCard.cardId); + assertEquals(card.barcodeId, parsedCard.barcodeId); + assertEquals(card.barcodeType, parsedCard.barcodeType); + assertEquals(card.headerColor, parsedCard.headerColor); + // No export of starStatus for export URL foreseen therefore 0 will be imported assertEquals(0, parsedCard.starStatus); } @@ -81,15 +81,17 @@ public class ImportURITest { LoyaltyCard parsedCard = importURIHelper.parse(cardUri); // Compare everything - assertEquals(card.barcodeType, parsedCard.barcodeType); - assertEquals(card.barcodeId, parsedCard.barcodeId); - assertEquals(card.cardId, parsedCard.cardId); + assertEquals(card.store, parsedCard.store); assertEquals(card.note, parsedCard.note); assertEquals(card.expiry, parsedCard.expiry); assertEquals(card.balance, parsedCard.balance); assertEquals(card.balanceType, parsedCard.balanceType); - assertEquals(card.store, parsedCard.store); + assertEquals(card.cardId, parsedCard.cardId); + assertEquals(card.barcodeId, parsedCard.barcodeId); + assertEquals(card.barcodeType, parsedCard.barcodeType); assertNull(parsedCard.headerColor); + // No export of starStatus for export URL foreseen therefore 0 will be imported + assertEquals(0, parsedCard.starStatus); } @Test @@ -126,15 +128,15 @@ public class ImportURITest { } // Compare everything - assertEquals(BarcodeFormat.ITF, parsedCard.barcodeType); - assertEquals(null, parsedCard.barcodeId); - assertEquals("12345", parsedCard.cardId); - assertEquals("note", parsedCard.note); assertEquals("store", parsedCard.store); - assertEquals(Integer.valueOf(-416706), parsedCard.headerColor); - assertEquals(0, parsedCard.starStatus); + assertEquals("note", parsedCard.note); assertEquals(null, parsedCard.expiry); assertEquals(new BigDecimal("0"), parsedCard.balance); assertEquals(null, parsedCard.balanceType); + assertEquals("12345", parsedCard.cardId); + assertEquals(null, parsedCard.barcodeId); + assertEquals(BarcodeFormat.ITF, parsedCard.barcodeType); + assertEquals(Integer.valueOf(-416706), parsedCard.headerColor); + assertEquals(0, parsedCard.starStatus); } }