This commit is contained in:
Sylvia van Os
2019-12-01 20:42:37 +01:00
parent 28b3aa2018
commit 3d2ad1693a
2 changed files with 76 additions and 2 deletions

View 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
}
}
}

View File

@@ -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());
}