Fix some tests

This commit is contained in:
Sylvia van Os
2019-12-14 21:37:48 +01:00
parent 6cd7a3f5bf
commit 04dcee6097
7 changed files with 71 additions and 15 deletions

View File

@@ -8,6 +8,7 @@ import android.graphics.Color;
import com.google.zxing.BarcodeFormat;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
@@ -29,10 +30,13 @@ public class DatabaseTest
private static final Integer DEFAULT_HEADER_COLOR = Color.BLACK;
private static final Integer DEFAULT_HEADER_TEXT_COLOR = Color.WHITE;
private static JSONObject DEFAULT_EXTRAS;
@Before
public void setUp()
public void setUp() throws JSONException
{
DEFAULT_EXTRAS = new JSONObject("{\"testkey\": \"testvalue\"}");
Activity activity = Robolectric.setupActivity(MainActivity.class);
db = new DBHelper(activity);
}
@@ -41,7 +45,7 @@ public class DatabaseTest
public void addRemoveOneGiftCard()
{
assertEquals(0, db.getLoyaltyCardCount());
long id = db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR, new JSONObject());
long id = db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR, DEFAULT_EXTRAS);
boolean result = (id != -1);
assertTrue(result);
assertEquals(1, db.getLoyaltyCardCount());
@@ -62,12 +66,12 @@ public class DatabaseTest
@Test
public void updateGiftCard()
{
long id = db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR, new JSONObject());
long id = db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR, DEFAULT_EXTRAS);
boolean result = (id != -1);
assertTrue(result);
assertEquals(1, db.getLoyaltyCardCount());
result = db.updateLoyaltyCard(1, "store1", "note1", "cardId1", BarcodeFormat.AZTEC.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR, new JSONObject());
result = db.updateLoyaltyCard(1, "store1", "note1", "cardId1", BarcodeFormat.AZTEC.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR, DEFAULT_EXTRAS);
assertTrue(result);
assertEquals(1, db.getLoyaltyCardCount());
@@ -77,6 +81,7 @@ public class DatabaseTest
assertEquals("note1", loyaltyCard.note);
assertEquals("cardId1", loyaltyCard.cardId);
assertEquals(BarcodeFormat.AZTEC.toString(), loyaltyCard.barcodeType);
assertEquals(DEFAULT_EXTRAS.toString(), loyaltyCard.extras.toString());
}
@Test
@@ -85,7 +90,7 @@ public class DatabaseTest
assertEquals(0, db.getLoyaltyCardCount());
boolean result = db.updateLoyaltyCard(1, "store1", "note1", "cardId1",
BarcodeFormat.UPC_A.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR, new JSONObject());
BarcodeFormat.UPC_A.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR, DEFAULT_EXTRAS);
assertEquals(false, result);
assertEquals(0, db.getLoyaltyCardCount());
}
@@ -104,10 +109,11 @@ public class DatabaseTest
assertEquals("", loyaltyCard.note);
assertEquals("", loyaltyCard.cardId);
assertEquals("", loyaltyCard.barcodeType);
assertEquals("{}", loyaltyCard.extras.toString());
}
@Test
public void giftCardsViaCursor()
public void giftCardsViaCursor() throws JSONException
{
final int CARDS_TO_ADD = 10;
@@ -116,7 +122,7 @@ public class DatabaseTest
for(int index = CARDS_TO_ADD-1; index >= 0; index--)
{
long id = db.insertLoyaltyCard("store" + index, "note" + index, "cardId" + index,
BarcodeFormat.UPC_A.toString(), index, index*2, new JSONObject());
BarcodeFormat.UPC_A.toString(), index, index*2, new JSONObject("{\"testkey" + index + "\":\"testvalue" + index + "\"}"));
boolean result = (id != -1);
assertTrue(result);
}
@@ -139,6 +145,7 @@ public class DatabaseTest
assertEquals(BarcodeFormat.UPC_A.toString(), cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_TYPE)));
assertEquals(index, cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.HEADER_COLOR)));
assertEquals(index*2, cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.HEADER_TEXT_COLOR)));
assertEquals("{\"testkey" + index + "\":\"testvalue" + index + "\"}", cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.EXTRAS)));
cursor.moveToNext();
}
@@ -194,6 +201,7 @@ public class DatabaseTest
assertEquals("", card.note);
assertEquals(null, card.headerColor);
assertEquals(null, card.headerTextColor);
assertEquals("{}", card.extras.toString());
database.close();
}

View File

@@ -8,6 +8,7 @@ import android.os.Environment;
import com.google.zxing.BarcodeFormat;
import org.apache.tools.ant.filters.StringInputStream;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
@@ -44,10 +45,13 @@ public class ImportExportTest
private final String BARCODE_DATA = "428311627547";
private final String BARCODE_TYPE = BarcodeFormat.UPC_A.name();
private JSONObject EXTRAS;
@Before
public void setUp()
public void setUp() throws JSONException
{
EXTRAS = new JSONObject("{\"key1\": \"value1\"}");
activity = Robolectric.setupActivity(MainActivity.class);
db = new DBHelper(activity);
nowMs = System.currentTimeMillis();
@@ -69,7 +73,7 @@ public class ImportExportTest
{
String storeName = String.format("store, \"%4d", index);
String note = String.format("note, \"%4d", index);
long id = db.insertLoyaltyCard(storeName, note, BARCODE_DATA, BARCODE_TYPE, index, index*2, new JSONObject());
long id = db.insertLoyaltyCard(storeName, note, BARCODE_DATA, BARCODE_TYPE, index, index*2, EXTRAS);
boolean result = (id != -1);
assertTrue(result);
}
@@ -100,6 +104,7 @@ public class ImportExportTest
assertEquals(BARCODE_TYPE, card.barcodeType);
assertEquals(Integer.valueOf(index), card.headerColor);
assertEquals(Integer.valueOf(index*2), card.headerTextColor);
assertEquals(EXTRAS, card.extras);
index++;
}

View File

@@ -5,6 +5,7 @@ import android.graphics.Color;
import android.net.Uri;
import com.google.zxing.BarcodeFormat;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
@@ -32,10 +33,10 @@ public class ImportURITest {
}
@Test
public void ensureNoDataLoss() throws InvalidObjectException
public void ensureNoDataLoss() throws InvalidObjectException, JSONException
{
// Generate card
db.insertLoyaltyCard("store", "note", BarcodeFormat.UPC_A.toString(), LoyaltyCardDbIds.BARCODE_TYPE, Color.BLACK, Color.WHITE, new JSONObject());
db.insertLoyaltyCard("store", "note", BarcodeFormat.UPC_A.toString(), LoyaltyCardDbIds.BARCODE_TYPE, Color.BLACK, Color.WHITE, new JSONObject("{\"key\": \"value\"}"));
// Get card
LoyaltyCard card = db.getLoyaltyCard(1);
@@ -53,6 +54,7 @@ public class ImportURITest {
assertEquals(card.headerTextColor, parsedCard.headerTextColor);
assertEquals(card.note, parsedCard.note);
assertEquals(card.store, parsedCard.store);
assertEquals(card.extras.toString(), parsedCard.extras.toString());
}
@Test

View File

@@ -22,6 +22,7 @@ import android.widget.TextView;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.client.android.Intents;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
@@ -451,12 +452,13 @@ public class LoyaltyCardViewActivityTest
final Menu menu = shadowOf(activity).getOptionsMenu();
assertTrue(menu != null);
// The share, settings and add button should be present
assertEquals(menu.size(), 3);
// The rotation, share, edit and info button should be present
assertEquals(menu.size(), 4);
assertEquals("Block Rotation", menu.findItem(R.id.action_lock_unlock).getTitle().toString());
assertEquals("Share", menu.findItem(R.id.action_share).getTitle().toString());
assertEquals("Edit", menu.findItem(R.id.action_edit).getTitle().toString());
assertEquals("More Info", menu.findItem(R.id.action_view_extras).getTitle().toString());
}
@Test
@@ -609,6 +611,44 @@ public class LoyaltyCardViewActivityTest
}
}
@Test
public void checkMoreInfoNoExtras()
{
ActivityController activityController = createActivityWithLoyaltyCard(false);
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE, new JSONObject());
activityController.start();
activityController.resume();
activityController.visible();
assertEquals(false, activity.isFinishing());
MenuItem item = shadowOf(activity).getOptionsMenu().findItem(R.id.action_view_extras);
assertEquals(false, item.isVisible());
}
@Test
public void checkMoreInfoExtras() throws JSONException
{
ActivityController activityController = createActivityWithLoyaltyCard(false);
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE, new JSONObject("{\"key\": \"value\"}"));
activityController.start();
activityController.resume();
activityController.visible();
assertEquals(false, activity.isFinishing());
MenuItem item = shadowOf(activity).getOptionsMenu().findItem(R.id.action_view_extras);
assertEquals(true, item.isVisible());
}
@Test
public void importCard()
{