mirror of
https://github.com/CatimaLoyalty/Android.git
synced 2026-04-04 23:53:51 -04:00
Tests
This commit is contained in:
73
app/src/test/java/protect/card_locker/ImportURITest.java
Normal file
73
app/src/test/java/protect/card_locker/ImportURITest.java
Normal file
@@ -0,0 +1,73 @@
|
||||
package protect.card_locker;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.graphics.Color;
|
||||
import android.net.Uri;
|
||||
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
|
||||
import org.bouncycastle.util.test.TestFailedException;
|
||||
import org.bouncycastle.util.test.TestResult;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import java.io.InvalidObjectException;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static protect.card_locker.DBHelper.LoyaltyCardDbIds.BARCODE_TYPE;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Config(constants = BuildConfig.class, sdk = 23)
|
||||
public class ImportURITest {
|
||||
private ImportURIHelper importURIHelper;
|
||||
private DBHelper db;
|
||||
|
||||
@Before
|
||||
public void setUp()
|
||||
{
|
||||
Activity activity = Robolectric.setupActivity(MainActivity.class);
|
||||
importURIHelper = new ImportURIHelper(activity);
|
||||
db = new DBHelper(activity);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ensureNoDataLoss() throws InvalidObjectException
|
||||
{
|
||||
// Generate card
|
||||
db.insertLoyaltyCard("store", "note", BarcodeFormat.UPC_A.toString(), BARCODE_TYPE, Color.BLACK, Color.WHITE);
|
||||
|
||||
// Get card
|
||||
LoyaltyCard card = db.getLoyaltyCard(1);
|
||||
|
||||
// Card to URI
|
||||
Uri cardUri = importURIHelper.toUri(card);
|
||||
|
||||
// Parse URI
|
||||
LoyaltyCard parsedCard = importURIHelper.parse(cardUri);
|
||||
|
||||
// Compare everything
|
||||
assertEquals(card.barcodeType, parsedCard.barcodeType);
|
||||
assertEquals(card.cardId, parsedCard.cardId);
|
||||
assertEquals(card.headerColor, parsedCard.headerColor);
|
||||
assertEquals(card.headerTextColor, parsedCard.headerTextColor);
|
||||
assertEquals(card.note, parsedCard.note);
|
||||
assertEquals(card.store, parsedCard.store);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void failToParseInvalidUri()
|
||||
{
|
||||
try {
|
||||
importURIHelper.parse(Uri.parse("https://example.com/test"));
|
||||
assertTrue(false); // Shouldn't get here
|
||||
} catch(InvalidObjectException _) {
|
||||
// Desired behaviour
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -448,10 +448,11 @@ public class LoyaltyCardViewActivityTest
|
||||
final Menu menu = shadowOf(activity).getOptionsMenu();
|
||||
assertTrue(menu != null);
|
||||
|
||||
// The settings and add button should be present
|
||||
assertEquals(menu.size(), 2);
|
||||
// The share, settings and add button should be present
|
||||
assertEquals(menu.size(), 3);
|
||||
|
||||
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());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user