mirror of
https://github.com/CatimaLoyalty/Android.git
synced 2025-12-24 15:47:53 -05:00
Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2e333c379 | ||
|
|
2b058ee766 | ||
|
|
fc3302219e | ||
|
|
e0a77e9628 | ||
|
|
f6f749de1c | ||
|
|
61dec10e74 | ||
|
|
9306e1a3d9 | ||
|
|
62e4fa402c | ||
|
|
d12edd06a4 | ||
|
|
4a8bc4744d | ||
|
|
34faf18deb | ||
|
|
8c371751a7 | ||
|
|
c21c81f2c7 | ||
|
|
77afaf1a3d | ||
|
|
eb61f81b52 | ||
|
|
0289720c09 | ||
|
|
5f2e3a5e1d | ||
|
|
5bc992f7f8 | ||
|
|
a2ab434d01 | ||
|
|
9593b94a2b | ||
|
|
075a440e4f | ||
|
|
c6967f6a3f | ||
|
|
a8ca5470c7 | ||
|
|
4d277eff51 | ||
|
|
c51531e367 | ||
|
|
5e57d66daa | ||
|
|
73aff4aeb8 | ||
|
|
e6241b5a47 |
@@ -19,7 +19,9 @@ android:
|
||||
# if you need to run emulator(s) during your tests
|
||||
- sys-img-x86-android-17
|
||||
|
||||
script: gradle build lint test
|
||||
script: gradle build lint findbugs test
|
||||
|
||||
after_failure:
|
||||
- cat app/build/outputs/lint-results.xml
|
||||
- cat app/build/reports/findbugs/findbugs.html
|
||||
- cat app/build/reports/tests/debug/index.html
|
||||
|
||||
14
README.md
14
README.md
@@ -4,7 +4,19 @@
|
||||
[](https://f-droid.org/repository/browse/?fdid=protect.card_locker "Loyalty Card Locker on F-Droid")
|
||||
|
||||
|
||||
Stores all of your store loyalty cards on your phone, removing the need to carry them around.
|
||||
Stores all of your store loyalty cards on your phone, removing the need to carry them around. Currently the following barcode types are supported:
|
||||
|
||||
- AZTEC
|
||||
- CODABAR
|
||||
- CODE_39
|
||||
- CODE_128
|
||||
- DATA_MATRIX
|
||||
- EAN_8
|
||||
- EAN_13
|
||||
- ITF
|
||||
- PDF_417
|
||||
- QR_CODE
|
||||
- UPC_A
|
||||
|
||||
If there is any interest in improving this project, kindly submit a pull request with
|
||||
proposed changes.
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'findbugs'
|
||||
|
||||
findbugs {
|
||||
sourceSets = []
|
||||
ignoreFailures = false
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 23
|
||||
@@ -8,8 +14,8 @@ android {
|
||||
applicationId "protect.card_locker"
|
||||
minSdkVersion 17
|
||||
targetSdkVersion 23
|
||||
versionCode 2
|
||||
versionName "0.2"
|
||||
versionCode 4
|
||||
versionName "0.4"
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
@@ -31,8 +37,27 @@ dependencies {
|
||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||
compile 'com.android.support:appcompat-v7:23.1.1'
|
||||
compile 'com.android.support:design:23.1.1'
|
||||
compile 'com.journeyapps:zxing-android-embedded:3.0.1@aar'
|
||||
compile 'com.google.zxing:core:3.2.0'
|
||||
compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar'
|
||||
compile 'com.google.zxing:core:3.2.1'
|
||||
testCompile 'junit:junit:4.12'
|
||||
testCompile "org.robolectric:robolectric:3.0"
|
||||
}
|
||||
|
||||
task findbugs(type: FindBugs, dependsOn: assembleDebug) {
|
||||
|
||||
description 'Run findbugs'
|
||||
group 'verification'
|
||||
|
||||
classes = fileTree('build/intermediates/classes/debug/')
|
||||
source = fileTree('src/main/java')
|
||||
classpath = files()
|
||||
|
||||
effort = 'max'
|
||||
|
||||
excludeFilter = file("./config/findbugs/exclude.xml")
|
||||
|
||||
reports {
|
||||
xml.enabled = false
|
||||
html.enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
10
app/config/findbugs/exclude.xml
Normal file
10
app/config/findbugs/exclude.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<FindBugsFilter>
|
||||
|
||||
<Match>
|
||||
<Class name="~.*R\$.*"/>
|
||||
</Match>
|
||||
<Match>
|
||||
<Class name="~.*Manifest\$.*"/>
|
||||
</Match>
|
||||
|
||||
</FindBugsFilter>
|
||||
@@ -35,6 +35,7 @@
|
||||
android:name=".LoyaltyCardViewActivity"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:configChanges="orientation|screenSize"
|
||||
android:windowSoftInputMode="stateHidden"
|
||||
android:parentActivityName="protect.card_locker.MainActivity"/>
|
||||
</application>
|
||||
|
||||
|
||||
@@ -10,13 +10,15 @@ import android.database.sqlite.SQLiteOpenHelper;
|
||||
public class DBHelper extends SQLiteOpenHelper
|
||||
{
|
||||
public static final String DATABASE_NAME = "LoyaltyCards.db";
|
||||
public static final int DATABASE_VERSION = 1;
|
||||
public static final int ORIGINAL_DATABASE_VERSION = 1;
|
||||
public static final int DATABASE_VERSION = 2;
|
||||
|
||||
class LoyaltyCardDbIds
|
||||
static class LoyaltyCardDbIds
|
||||
{
|
||||
public static final String TABLE = "cards";
|
||||
public static final String ID = "_id";
|
||||
public static final String STORE = "store";
|
||||
public static final String NOTE = "note";
|
||||
public static final String CARD_ID = "cardid";
|
||||
public static final String BARCODE_TYPE = "barcodetype";
|
||||
}
|
||||
@@ -33,6 +35,7 @@ public class DBHelper extends SQLiteOpenHelper
|
||||
db.execSQL("create table " + LoyaltyCardDbIds.TABLE + "(" +
|
||||
LoyaltyCardDbIds.ID + " INTEGER primary key autoincrement," +
|
||||
LoyaltyCardDbIds.STORE + " TEXT not null," +
|
||||
LoyaltyCardDbIds.NOTE + " TEXT not null," +
|
||||
LoyaltyCardDbIds.CARD_ID + " TEXT not null," +
|
||||
LoyaltyCardDbIds.BARCODE_TYPE + " TEXT not null)");
|
||||
}
|
||||
@@ -40,16 +43,21 @@ public class DBHelper extends SQLiteOpenHelper
|
||||
@Override
|
||||
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
|
||||
{
|
||||
// Do not support versioning yet
|
||||
db.execSQL("DROP TABLE IF EXISTS " + LoyaltyCardDbIds.TABLE);
|
||||
onCreate(db);
|
||||
// Upgrade from version 1 to version 2
|
||||
if(oldVersion < 2 && newVersion >= 2)
|
||||
{
|
||||
db.execSQL("ALTER TABLE " + LoyaltyCardDbIds.TABLE
|
||||
+ " ADD COLUMN " + LoyaltyCardDbIds.NOTE + " TEXT not null default ''");
|
||||
}
|
||||
}
|
||||
|
||||
public boolean insertLoyaltyCard(final String store, final String cardId, final String barcodeType)
|
||||
public boolean insertLoyaltyCard(final String store, final String note, final String cardId,
|
||||
final String barcodeType)
|
||||
{
|
||||
SQLiteDatabase db = getWritableDatabase();
|
||||
ContentValues contentValues = new ContentValues();
|
||||
contentValues.put(LoyaltyCardDbIds.STORE, store);
|
||||
contentValues.put(LoyaltyCardDbIds.NOTE, note);
|
||||
contentValues.put(LoyaltyCardDbIds.CARD_ID, cardId);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType);
|
||||
final long newId = db.insert(LoyaltyCardDbIds.TABLE, null, contentValues);
|
||||
@@ -57,12 +65,13 @@ public class DBHelper extends SQLiteOpenHelper
|
||||
}
|
||||
|
||||
|
||||
public boolean updateLoyaltyCard(final int id, final String store, final String cardId,
|
||||
final String barcodeType)
|
||||
public boolean updateLoyaltyCard(final int id, final String store, final String note,
|
||||
final String cardId, final String barcodeType)
|
||||
{
|
||||
SQLiteDatabase db = getWritableDatabase();
|
||||
ContentValues contentValues = new ContentValues();
|
||||
contentValues.put(LoyaltyCardDbIds.STORE, store);
|
||||
contentValues.put(LoyaltyCardDbIds.NOTE, note);
|
||||
contentValues.put(LoyaltyCardDbIds.CARD_ID, cardId);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType);
|
||||
int rowsUpdated = db.update(LoyaltyCardDbIds.TABLE, contentValues,
|
||||
|
||||
@@ -6,13 +6,15 @@ public class LoyaltyCard
|
||||
{
|
||||
public final int id;
|
||||
public final String store;
|
||||
public final String note;
|
||||
public final String cardId;
|
||||
public final String barcodeType;
|
||||
|
||||
public LoyaltyCard(final int id, final String store, final String cardId, final String barcodeType)
|
||||
public LoyaltyCard(final int id, final String store, final String note, final String cardId, final String barcodeType)
|
||||
{
|
||||
this.id = id;
|
||||
this.store = store;
|
||||
this.note = note;
|
||||
this.cardId = cardId;
|
||||
this.barcodeType = barcodeType;
|
||||
}
|
||||
@@ -21,9 +23,10 @@ public class LoyaltyCard
|
||||
{
|
||||
int id = cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.ID));
|
||||
String store = cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.STORE));
|
||||
String note = cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.NOTE));
|
||||
String cardId = cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.CARD_ID));
|
||||
String barcodeType = cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_TYPE));
|
||||
|
||||
return new LoyaltyCard(id, store, cardId, barcodeType);
|
||||
return new LoyaltyCard(id, store, note, cardId, barcodeType);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,14 @@ class LoyaltyCardCursorAdapter extends CursorAdapter
|
||||
LoyaltyCard loyaltyCard = LoyaltyCard.toLoyaltyCard(cursor);
|
||||
|
||||
// Populate fields with extracted properties
|
||||
storeField.setText(loyaltyCard.store);
|
||||
String storeAndNote = loyaltyCard.store;
|
||||
if(loyaltyCard.note.isEmpty() == false)
|
||||
{
|
||||
String storeNameAndNoteFormat = view.getResources().getString(R.string.storeNameAndNoteFormat);
|
||||
storeAndNote = String.format(storeNameAndNoteFormat, loyaltyCard.store, loyaltyCard.note);
|
||||
}
|
||||
|
||||
storeField.setText(storeAndNote);
|
||||
|
||||
String cardIdFormat = view.getResources().getString(R.string.cardIdFormat);
|
||||
String cardIdLabel = view.getResources().getString(R.string.cardId);
|
||||
|
||||
@@ -23,11 +23,32 @@ import com.google.zxing.common.BitMatrix;
|
||||
import com.google.zxing.integration.android.IntentIntegrator;
|
||||
import com.google.zxing.integration.android.IntentResult;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
|
||||
public class LoyaltyCardViewActivity extends AppCompatActivity
|
||||
{
|
||||
private static final String TAG = "CardLocker";
|
||||
|
||||
// These are all the barcode types that the zxing library
|
||||
// is able to generate a barcode for, and thus should be
|
||||
// the only barcodes which we should attempt to scan.
|
||||
Collection<String> supportedBarcodeTypes = Collections.unmodifiableList(Arrays.asList(
|
||||
BarcodeFormat.AZTEC.name(),
|
||||
BarcodeFormat.CODE_39.name(),
|
||||
BarcodeFormat.CODE_128.name(),
|
||||
BarcodeFormat.CODABAR.name(),
|
||||
BarcodeFormat.DATA_MATRIX.name(),
|
||||
BarcodeFormat.EAN_8.name(),
|
||||
BarcodeFormat.EAN_13.name(),
|
||||
BarcodeFormat.ITF.name(),
|
||||
BarcodeFormat.PDF_417.name(),
|
||||
BarcodeFormat.QR_CODE.name(),
|
||||
BarcodeFormat.UPC_A.name()
|
||||
));
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
@@ -56,6 +77,7 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
|
||||
Log.i(TAG, "To view card: " + loyaltyCardId);
|
||||
|
||||
final EditText storeField = (EditText) findViewById(R.id.storeName);
|
||||
final EditText noteField = (EditText) findViewById(R.id.note);
|
||||
final EditText cardIdField = (EditText) findViewById(R.id.cardId);
|
||||
final EditText barcodeTypeField = (EditText) findViewById(R.id.barcodeType);
|
||||
final ImageView barcodeImage = (ImageView) findViewById(R.id.barcode);
|
||||
@@ -74,7 +96,15 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
|
||||
{
|
||||
final LoyaltyCard loyaltyCard = db.getLoyaltyCard(loyaltyCardId);
|
||||
|
||||
storeField.setText(loyaltyCard.store);
|
||||
if(storeField.getText().length() == 0)
|
||||
{
|
||||
storeField.setText(loyaltyCard.store);
|
||||
}
|
||||
|
||||
if(noteField.getText().length() == 0)
|
||||
{
|
||||
noteField.setText(loyaltyCard.note);
|
||||
}
|
||||
|
||||
if(cardIdField.getText().length() == 0)
|
||||
{
|
||||
@@ -86,7 +116,11 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
|
||||
barcodeTypeField.setText(loyaltyCard.barcodeType);
|
||||
}
|
||||
|
||||
storeField.setEnabled(false);
|
||||
if(viewLoyaltyCard)
|
||||
{
|
||||
storeField.setEnabled(false);
|
||||
noteField.setEnabled(false);
|
||||
}
|
||||
|
||||
if(updateLoyaltyCard)
|
||||
{
|
||||
@@ -126,11 +160,14 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
|
||||
throw new IllegalArgumentException("Unrecognized barcode format: " + formatString);
|
||||
}
|
||||
|
||||
int generateWidth = 100;
|
||||
int generateHeight = 100;
|
||||
|
||||
String cardIdString = cardIdField.getText().toString();
|
||||
|
||||
Log.i(TAG, "Card: " + cardIdString);
|
||||
|
||||
result = writer.encode(cardIdString, format, 1500, 400, null);
|
||||
result = writer.encode(cardIdString, format, generateWidth, generateHeight, null);
|
||||
|
||||
final int WHITE = 0xFFFFFFFF;
|
||||
final int BLACK = 0xFF000000;
|
||||
@@ -154,11 +191,7 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
|
||||
barcodeIdLayout.setVisibility(View.VISIBLE);
|
||||
barcodeImageLayout.setVisibility(View.VISIBLE);
|
||||
}
|
||||
catch (WriterException e)
|
||||
{
|
||||
Log.e(TAG, "Failed to generate barcode", e);
|
||||
}
|
||||
catch(IllegalArgumentException e)
|
||||
catch (WriterException | IllegalArgumentException e)
|
||||
{
|
||||
Log.e(TAG, "Failed to generate barcode", e);
|
||||
}
|
||||
@@ -170,7 +203,7 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
|
||||
public void onClick(View v)
|
||||
{
|
||||
IntentIntegrator integrator = new IntentIntegrator(LoyaltyCardViewActivity.this);
|
||||
integrator.setDesiredBarcodeFormats(IntentIntegrator.ONE_D_CODE_TYPES);
|
||||
integrator.setDesiredBarcodeFormats(supportedBarcodeTypes);
|
||||
|
||||
String prompt = getResources().getString(R.string.scanCardBarcode);
|
||||
integrator.setPrompt(prompt);
|
||||
@@ -186,6 +219,7 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
|
||||
public void onClick(final View v)
|
||||
{
|
||||
String store = storeField.getText().toString();
|
||||
String note = noteField.getText().toString();
|
||||
String cardId = cardIdField.getText().toString();
|
||||
String barcodeType = barcodeTypeField.getText().toString();
|
||||
|
||||
@@ -203,12 +237,12 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
|
||||
|
||||
if(updateLoyaltyCard)
|
||||
{
|
||||
db.updateLoyaltyCard(loyaltyCardId, store, cardId, barcodeType);
|
||||
db.updateLoyaltyCard(loyaltyCardId, store, note, cardId, barcodeType);
|
||||
Log.i(TAG, "Updated " + loyaltyCardId + " to " + cardId);
|
||||
}
|
||||
else
|
||||
{
|
||||
db.insertLoyaltyCard(store, cardId, barcodeType);
|
||||
db.insertLoyaltyCard(store, note, cardId, barcodeType);
|
||||
}
|
||||
|
||||
finish();
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
android:id="@+id/store"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1.0"/>
|
||||
android:layout_weight="1.0"
|
||||
android:maxLines="1"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout android:orientation="horizontal"
|
||||
|
||||
@@ -52,6 +52,28 @@
|
||||
android:inputType="text"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
<LinearLayout android:orientation="horizontal"
|
||||
android:padding="10.0dip"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<TextView android:textSize="16.0sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:paddingStart="20.0dip"
|
||||
android:paddingEnd="20.0dip"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:labelFor="@+id/note"
|
||||
android:text="@string/note" />
|
||||
<LinearLayout android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<EditText android:id="@+id/note"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="text"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
<LinearLayout android:orientation="horizontal"
|
||||
android:padding="10.0dip"
|
||||
android:layout_width="fill_parent"
|
||||
|
||||
@@ -25,4 +25,5 @@
|
||||
<string name="noCardIdError">Nessun codice carta inserito</string>
|
||||
|
||||
<string name="cardIdFormat">%1$s: %2$s</string>
|
||||
<string name="note">Nota</string>
|
||||
</resources>
|
||||
|
||||
29
app/src/main/res/values-nl/strings.xml
Normal file
29
app/src/main/res/values-nl/strings.xml
Normal file
@@ -0,0 +1,29 @@
|
||||
<resources>
|
||||
<string name="app_name">Klantenkaartenkluis</string>
|
||||
<string name="action_add">Voeg toe</string>
|
||||
|
||||
<string name="noGiftCards">Er zijn momenteel geen klantenkaarten toegevoegd. Klik de knop met "+" (plus) om te beginnen.\n\nKlantenkaartenkluis beheert klantenkaarten op een smartphone of tablet, zodat ze altijd binnen handbereik zijn.</string>
|
||||
|
||||
<string name="storeName">Winkel</string>
|
||||
<string name="cardId">Kaart-ID</string>
|
||||
<string name="barcodeType">Barcodetype</string>
|
||||
|
||||
<string name="cancel">Annuleer</string>
|
||||
<string name="save">Sla op</string>
|
||||
<string name="capture">Scan kaart</string>
|
||||
<string name="edit">Bewerk</string>
|
||||
<string name="delete">Verwijder</string>
|
||||
|
||||
<string name="editCardTitle">Bewerk klantenkaart</string>
|
||||
<string name="addCardTitle">Voeg klantenkaart toe</string>
|
||||
<string name="viewCardTitle">Bekijk klantenkaart</string>
|
||||
<string name="scanCardBarcode">Scan barcode klantenkaart</string>
|
||||
|
||||
<string name="barcodeImageDescription">Afbeelding barcode klantenkaart</string>
|
||||
|
||||
<string name="noStoreError">Geen winkel toegevoegd</string>
|
||||
<string name="noCardIdError">Geen kaart-ID toegevoegd</string>
|
||||
|
||||
<string name="cardIdFormat">%1$s: %2$s</string>
|
||||
<string name="note">Notitie</string>
|
||||
</resources>
|
||||
@@ -6,5 +6,5 @@
|
||||
<dimen name="no_data_textSize">16sp</dimen>
|
||||
<dimen name="no_data_padding">22dp</dimen>
|
||||
|
||||
<dimen name="barcode_disp_height">50dp</dimen>
|
||||
<dimen name="barcode_disp_height">200dp</dimen>
|
||||
</resources>
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
<string name="noGiftCards">You don\'t have any loyalty cards at the moment. Click the "+" (plus) button up top to get started.\n\nLoyalty Card Locker lets you carry your loyalty cards on your phone, so they are always within reach.</string>
|
||||
|
||||
<string name="storeName">Store</string>
|
||||
<string name="note">Note</string>
|
||||
<string name="cardId">Card ID</string>
|
||||
<string name="barcodeType">Barcode Type</string>
|
||||
|
||||
@@ -25,4 +26,5 @@
|
||||
<string name="noCardIdError">No Card ID entered</string>
|
||||
|
||||
<string name="cardIdFormat">%1$s: %2$s</string>
|
||||
<string name="storeNameAndNoteFormat" translatable="false">%1$s - %2$s</string>
|
||||
</resources>
|
||||
@@ -1,7 +1,9 @@
|
||||
package protect.card_locker;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ContentValues;
|
||||
import android.database.Cursor;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
|
||||
@@ -34,13 +36,14 @@ public class DatabaseTest
|
||||
public void addRemoveOneGiftCard()
|
||||
{
|
||||
assertEquals(0, db.getLoyaltyCardCount());
|
||||
boolean result = db.insertLoyaltyCard("store", "cardId", BarcodeFormat.UPC_A.toString());
|
||||
boolean result = db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString());
|
||||
assertTrue(result);
|
||||
assertEquals(1, db.getLoyaltyCardCount());
|
||||
|
||||
LoyaltyCard loyaltyCard = db.getLoyaltyCard(1);
|
||||
assertNotNull(loyaltyCard);
|
||||
assertEquals("store", loyaltyCard.store);
|
||||
assertEquals("note", loyaltyCard.note);
|
||||
assertEquals("cardId", loyaltyCard.cardId);
|
||||
assertEquals(BarcodeFormat.UPC_A.toString(), loyaltyCard.barcodeType);
|
||||
|
||||
@@ -53,17 +56,18 @@ public class DatabaseTest
|
||||
@Test
|
||||
public void updateGiftCard()
|
||||
{
|
||||
boolean result = db.insertLoyaltyCard("store", "cardId", BarcodeFormat.UPC_A.toString());
|
||||
boolean result = db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString());
|
||||
assertTrue(result);
|
||||
assertEquals(1, db.getLoyaltyCardCount());
|
||||
|
||||
result = db.updateLoyaltyCard(1, "store1", "cardId1", BarcodeFormat.AZTEC.toString());
|
||||
result = db.updateLoyaltyCard(1, "store1", "note1", "cardId1", BarcodeFormat.AZTEC.toString());
|
||||
assertTrue(result);
|
||||
assertEquals(1, db.getLoyaltyCardCount());
|
||||
|
||||
LoyaltyCard loyaltyCard = db.getLoyaltyCard(1);
|
||||
assertNotNull(loyaltyCard);
|
||||
assertEquals("store1", loyaltyCard.store);
|
||||
assertEquals("note1", loyaltyCard.note);
|
||||
assertEquals("cardId1", loyaltyCard.cardId);
|
||||
assertEquals(BarcodeFormat.AZTEC.toString(), loyaltyCard.barcodeType);
|
||||
}
|
||||
@@ -73,7 +77,8 @@ public class DatabaseTest
|
||||
{
|
||||
assertEquals(0, db.getLoyaltyCardCount());
|
||||
|
||||
boolean result = db.updateLoyaltyCard(1, "store1", "cardId1", BarcodeFormat.UPC_A.toString());
|
||||
boolean result = db.updateLoyaltyCard(1, "store1", "note1", "cardId1",
|
||||
BarcodeFormat.UPC_A.toString());
|
||||
assertEquals(false, result);
|
||||
assertEquals(0, db.getLoyaltyCardCount());
|
||||
}
|
||||
@@ -81,13 +86,14 @@ public class DatabaseTest
|
||||
@Test
|
||||
public void emptyGiftCardValues()
|
||||
{
|
||||
boolean result = db.insertLoyaltyCard("", "", "");
|
||||
boolean result = db.insertLoyaltyCard("", "", "", "");
|
||||
assertTrue(result);
|
||||
assertEquals(1, db.getLoyaltyCardCount());
|
||||
|
||||
LoyaltyCard loyaltyCard = db.getLoyaltyCard(1);
|
||||
assertNotNull(loyaltyCard);
|
||||
assertEquals("", loyaltyCard.store);
|
||||
assertEquals("", loyaltyCard.note);
|
||||
assertEquals("", loyaltyCard.cardId);
|
||||
assertEquals("", loyaltyCard.barcodeType);
|
||||
}
|
||||
@@ -101,7 +107,8 @@ public class DatabaseTest
|
||||
// that they are sorted
|
||||
for(int index = CARDS_TO_ADD-1; index >= 0; index--)
|
||||
{
|
||||
boolean result = db.insertLoyaltyCard("store" + index, "cardId" + index, BarcodeFormat.UPC_A.toString());
|
||||
boolean result = db.insertLoyaltyCard("store" + index, "note" + index, "cardId" + index,
|
||||
BarcodeFormat.UPC_A.toString());
|
||||
assertTrue(result);
|
||||
}
|
||||
|
||||
@@ -117,6 +124,7 @@ public class DatabaseTest
|
||||
for(int index = 0; index < CARDS_TO_ADD; index++)
|
||||
{
|
||||
assertEquals("store"+index, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.STORE)));
|
||||
assertEquals("note"+index, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.NOTE)));
|
||||
assertEquals("cardId"+index, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.CARD_ID)));
|
||||
assertEquals(BarcodeFormat.UPC_A.toString(), cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_TYPE)));
|
||||
|
||||
@@ -125,4 +133,54 @@ public class DatabaseTest
|
||||
|
||||
assertTrue(cursor.isAfterLast());
|
||||
}
|
||||
|
||||
private void setupDatabaseVersion1(SQLiteDatabase database)
|
||||
{
|
||||
// Delete the tables as they exist now
|
||||
database.execSQL("drop table " + DBHelper.LoyaltyCardDbIds.TABLE);
|
||||
|
||||
// Create the table as it existed in revision 1
|
||||
database.execSQL("create table " + DBHelper.LoyaltyCardDbIds.TABLE + "(" +
|
||||
DBHelper.LoyaltyCardDbIds.ID + " INTEGER primary key autoincrement," +
|
||||
DBHelper.LoyaltyCardDbIds.STORE + " TEXT not null," +
|
||||
DBHelper.LoyaltyCardDbIds.CARD_ID + " TEXT not null," +
|
||||
DBHelper.LoyaltyCardDbIds.BARCODE_TYPE + " TEXT not null)");
|
||||
}
|
||||
|
||||
private int insertCardVersion1(SQLiteDatabase database,
|
||||
final String store, final String cardId,
|
||||
final String barcodeType)
|
||||
{
|
||||
ContentValues contentValues = new ContentValues();
|
||||
contentValues.put(DBHelper.LoyaltyCardDbIds.STORE, store);
|
||||
contentValues.put(DBHelper.LoyaltyCardDbIds.CARD_ID, cardId);
|
||||
contentValues.put(DBHelper.LoyaltyCardDbIds.BARCODE_TYPE, barcodeType);
|
||||
final long newId = database.insert(DBHelper.LoyaltyCardDbIds.TABLE, null, contentValues);
|
||||
assertTrue(newId != -1);
|
||||
return (int)newId;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void databaseUpgradeFromVersion1()
|
||||
{
|
||||
SQLiteDatabase database = db.getWritableDatabase();
|
||||
|
||||
// Setup the database as it appeared in revision 1
|
||||
setupDatabaseVersion1(database);
|
||||
|
||||
// Insert a budget and transaction
|
||||
int newCardId = insertCardVersion1(database, "store", "cardId", BarcodeFormat.UPC_A.toString());
|
||||
|
||||
// Upgrade database
|
||||
db.onUpgrade(database, DBHelper.ORIGINAL_DATABASE_VERSION, DBHelper.DATABASE_VERSION);
|
||||
|
||||
// Determine that the entries are queryable and the fields are correct
|
||||
LoyaltyCard card = db.getLoyaltyCard(newCardId);
|
||||
assertEquals("store", card.store);
|
||||
assertEquals("cardId", card.cardId);
|
||||
assertEquals(BarcodeFormat.UPC_A.toString(), card.barcodeType);
|
||||
assertEquals("", card.note);
|
||||
|
||||
database.close();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,12 +7,12 @@ import android.widget.TextView;
|
||||
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricGradleTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.util.ActivityController;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
@@ -20,32 +20,72 @@ import static org.junit.Assert.assertEquals;
|
||||
@Config(constants = BuildConfig.class, sdk = 17)
|
||||
public class LoyaltyCardCursorAdapterTest
|
||||
{
|
||||
@Test
|
||||
public void TestCursorAdapter()
|
||||
private Activity activity;
|
||||
private DBHelper db;
|
||||
|
||||
@Before
|
||||
public void setUp()
|
||||
{
|
||||
ActivityController activityController = Robolectric.buildActivity(MainActivity.class).create();
|
||||
Activity activity = (Activity)activityController.get();
|
||||
|
||||
DBHelper db = new DBHelper(activity);
|
||||
db.insertLoyaltyCard("store", "cardId", BarcodeFormat.UPC_A.toString());
|
||||
LoyaltyCard card = db.getLoyaltyCard(1);
|
||||
|
||||
Cursor cursor = db.getLoyaltyCardCursor();
|
||||
cursor.moveToFirst();
|
||||
activity = Robolectric.setupActivity(MainActivity.class);
|
||||
db = new DBHelper(activity);
|
||||
}
|
||||
|
||||
private View createView(Cursor cursor)
|
||||
{
|
||||
LoyaltyCardCursorAdapter adapter = new LoyaltyCardCursorAdapter(activity.getApplicationContext(), cursor);
|
||||
|
||||
View view = adapter.newView(activity.getApplicationContext(), cursor, null);
|
||||
adapter.bindView(view, activity.getApplicationContext(), cursor);
|
||||
|
||||
final TextView storeField = (TextView) view.findViewById(R.id.store);
|
||||
return view;
|
||||
}
|
||||
|
||||
assertEquals(card.store, storeField.getText().toString());
|
||||
private void checkView(final View view, final String store, final String cardId)
|
||||
{
|
||||
final TextView storeField = (TextView) view.findViewById(R.id.store);
|
||||
assertEquals(store, storeField.getText().toString());
|
||||
|
||||
final TextView cardIdField = (TextView) view.findViewById(R.id.cardId);
|
||||
assertEquals(cardId, cardIdField.getText().toString());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void TestCursorAdapterEmptyNote()
|
||||
{
|
||||
db.insertLoyaltyCard("store", "", "cardId", BarcodeFormat.UPC_A.toString());
|
||||
LoyaltyCard card = db.getLoyaltyCard(1);
|
||||
|
||||
Cursor cursor = db.getLoyaltyCardCursor();
|
||||
cursor.moveToFirst();
|
||||
|
||||
View view = createView(cursor);
|
||||
|
||||
final String cardIdLabel = activity.getResources().getString(R.string.cardId);
|
||||
final String cardIdFormat = activity.getResources().getString(R.string.cardIdFormat);
|
||||
String cardIdText = String.format(cardIdFormat, cardIdLabel, "cardId");
|
||||
assertEquals(cardIdText, cardIdField.getText().toString());
|
||||
String cardIdText = String.format(cardIdFormat, cardIdLabel, card.cardId);
|
||||
|
||||
checkView(view, card.store, cardIdText);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestCursorAdapterWithNote()
|
||||
{
|
||||
db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString());
|
||||
LoyaltyCard card = db.getLoyaltyCard(1);
|
||||
|
||||
Cursor cursor = db.getLoyaltyCardCursor();
|
||||
cursor.moveToFirst();
|
||||
|
||||
View view = createView(cursor);
|
||||
|
||||
final String storeNameAndNoteFormat = activity.getResources().getString(R.string.storeNameAndNoteFormat);
|
||||
String storeAndNoteText = String.format(storeNameAndNoteFormat, card.store, card.note);
|
||||
|
||||
final String cardIdLabel = activity.getResources().getString(R.string.cardId);
|
||||
final String cardIdFormat = activity.getResources().getString(R.string.cardIdFormat);
|
||||
String cardIdText = String.format(cardIdFormat, cardIdLabel, card.cardId);
|
||||
|
||||
checkView(view, storeAndNoteText, cardIdText);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,7 +68,8 @@ public class LoyaltyCardViewActivityTest
|
||||
* expected values
|
||||
*/
|
||||
private void saveLoyaltyCardWithArguments(final Activity activity,
|
||||
final String store, final String cardId,
|
||||
final String store, final String note,
|
||||
final String cardId,
|
||||
final String barcodeType,
|
||||
boolean creatingNewCard)
|
||||
{
|
||||
@@ -83,12 +84,14 @@ public class LoyaltyCardViewActivityTest
|
||||
}
|
||||
|
||||
final EditText storeField = (EditText) activity.findViewById(R.id.storeName);
|
||||
final EditText noteField = (EditText) activity.findViewById(R.id.note);
|
||||
final EditText cardIdField = (EditText) activity.findViewById(R.id.cardId);
|
||||
final EditText barcodeTypeField = (EditText) activity.findViewById(R.id.barcodeType);
|
||||
|
||||
final Button saveButton = (Button) activity.findViewById(R.id.saveButton);
|
||||
|
||||
storeField.setText(store);
|
||||
noteField.setText(note);
|
||||
cardIdField.setText(cardId);
|
||||
barcodeTypeField.setText(barcodeType);
|
||||
|
||||
@@ -100,6 +103,7 @@ public class LoyaltyCardViewActivityTest
|
||||
|
||||
LoyaltyCard card = db.getLoyaltyCard(1);
|
||||
assertEquals(store, card.store);
|
||||
assertEquals(note, card.note);
|
||||
assertEquals(cardId, card.cardId);
|
||||
assertEquals(barcodeType, card.barcodeType);
|
||||
}
|
||||
@@ -141,11 +145,12 @@ public class LoyaltyCardViewActivityTest
|
||||
}
|
||||
|
||||
private void checkFieldProperties(final Activity activity, final int id, final int visibility,
|
||||
final String contents)
|
||||
boolean enabled, final String contents)
|
||||
{
|
||||
final View view = activity.findViewById(id);
|
||||
assertNotNull(view);
|
||||
assertEquals(visibility, view.getVisibility());
|
||||
assertEquals(enabled, view.isEnabled());
|
||||
if(contents != null)
|
||||
{
|
||||
TextView textView = (TextView)view;
|
||||
@@ -153,22 +158,24 @@ public class LoyaltyCardViewActivityTest
|
||||
}
|
||||
}
|
||||
|
||||
private void checkAllFields(final Activity activity, final String store, final String cardId,
|
||||
final String barcodeType)
|
||||
private void checkAllFields(final Activity activity, boolean editMode, final String store,
|
||||
final String note, final String cardId, final String barcodeType)
|
||||
{
|
||||
int cardIdVisibility = cardId.isEmpty() ? View.GONE : View.VISIBLE;
|
||||
int captureVisibility = editMode ? View.VISIBLE : View.GONE;
|
||||
|
||||
checkFieldProperties(activity, R.id.storeName, View.VISIBLE, store);
|
||||
checkFieldProperties(activity, R.id.cardId, View.VISIBLE, cardId);
|
||||
checkFieldProperties(activity, R.id.barcodeType, View.VISIBLE, barcodeType);
|
||||
checkFieldProperties(activity, R.id.captureButton, View.VISIBLE, null);
|
||||
checkFieldProperties(activity, R.id.saveButton, View.VISIBLE, null);
|
||||
checkFieldProperties(activity, R.id.cancelButton, View.VISIBLE, null);
|
||||
checkFieldProperties(activity, R.id.barcode, View.VISIBLE, null);
|
||||
checkFieldProperties(activity, R.id.storeName, View.VISIBLE, editMode, store);
|
||||
checkFieldProperties(activity, R.id.note, View.VISIBLE, editMode, note);
|
||||
checkFieldProperties(activity, R.id.cardId, View.VISIBLE, false, cardId);
|
||||
checkFieldProperties(activity, R.id.barcodeType, View.VISIBLE, false, barcodeType);
|
||||
checkFieldProperties(activity, R.id.captureButton, captureVisibility, true, null);
|
||||
checkFieldProperties(activity, R.id.saveButton, captureVisibility, true, null);
|
||||
checkFieldProperties(activity, R.id.cancelButton, captureVisibility, true, null);
|
||||
checkFieldProperties(activity, R.id.barcode, View.VISIBLE, true, null);
|
||||
|
||||
checkFieldProperties(activity, R.id.barcodeIdLayout, cardIdVisibility, null);
|
||||
checkFieldProperties(activity, R.id.barcodeLayout, cardIdVisibility, null);
|
||||
checkFieldProperties(activity, R.id.barcodeTypeLayout, View.GONE, null);
|
||||
checkFieldProperties(activity, R.id.barcodeIdLayout, cardIdVisibility, true, null);
|
||||
checkFieldProperties(activity, R.id.barcodeLayout, cardIdVisibility, true, null);
|
||||
checkFieldProperties(activity, R.id.barcodeTypeLayout, View.GONE, true, null);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -181,7 +188,7 @@ public class LoyaltyCardViewActivityTest
|
||||
|
||||
Activity activity = (Activity)activityController.get();
|
||||
|
||||
checkAllFields(activity, "", "", "");
|
||||
checkAllFields(activity, true, "", "", "", "");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -197,6 +204,7 @@ public class LoyaltyCardViewActivityTest
|
||||
assertEquals(0, db.getLoyaltyCardCount());
|
||||
|
||||
final EditText storeField = (EditText) activity.findViewById(R.id.storeName);
|
||||
final EditText noteField = (EditText) activity.findViewById(R.id.note);
|
||||
final EditText cardIdField = (EditText) activity.findViewById(R.id.cardId);
|
||||
|
||||
final Button saveButton = (Button) activity.findViewById(R.id.saveButton);
|
||||
@@ -208,6 +216,10 @@ public class LoyaltyCardViewActivityTest
|
||||
saveButton.performClick();
|
||||
assertEquals(0, db.getLoyaltyCardCount());
|
||||
|
||||
noteField.setText("note");
|
||||
saveButton.performClick();
|
||||
assertEquals(0, db.getLoyaltyCardCount());
|
||||
|
||||
cardIdField.setText("cardId");
|
||||
saveButton.performClick();
|
||||
assertEquals(0, db.getLoyaltyCardCount());
|
||||
@@ -231,7 +243,7 @@ public class LoyaltyCardViewActivityTest
|
||||
}
|
||||
|
||||
@Test
|
||||
public void startWithoutParametersCaptureBarcodeCreateGiftCard() throws IOException
|
||||
public void startWithoutParametersCaptureBarcodeCreateLoyaltyCard() throws IOException
|
||||
{
|
||||
registerMediaStoreIntentHandler();
|
||||
|
||||
@@ -242,15 +254,15 @@ public class LoyaltyCardViewActivityTest
|
||||
|
||||
Activity activity = (Activity)activityController.get();
|
||||
|
||||
checkAllFields(activity, "", "", "");
|
||||
checkAllFields(activity, true, "", "", "", "");
|
||||
|
||||
// Complete barcode capture successfully
|
||||
captureBarcodeWithResult(activity, R.id.captureButton, true);
|
||||
|
||||
checkAllFields(activity, "", BARCODE_DATA, BARCODE_TYPE);
|
||||
checkAllFields(activity, true, "", "", BARCODE_DATA, BARCODE_TYPE);
|
||||
|
||||
// Save and check the gift card
|
||||
saveLoyaltyCardWithArguments(activity, "store", BARCODE_DATA, BARCODE_TYPE, true);
|
||||
saveLoyaltyCardWithArguments(activity, "store", "note", BARCODE_DATA, BARCODE_TYPE, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -263,12 +275,12 @@ public class LoyaltyCardViewActivityTest
|
||||
|
||||
Activity activity = (Activity)activityController.get();
|
||||
|
||||
checkAllFields(activity, "", "", "");
|
||||
checkAllFields(activity, true, "", "", "", "");
|
||||
|
||||
// Complete barcode capture in failure
|
||||
captureBarcodeWithResult(activity, R.id.captureButton, false);
|
||||
|
||||
checkAllFields(activity, "", "", "");
|
||||
checkAllFields(activity, true, "", "", "", "");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -281,12 +293,12 @@ public class LoyaltyCardViewActivityTest
|
||||
|
||||
Activity activity = (Activity)activityController.get();
|
||||
|
||||
checkAllFields(activity, "", "", "");
|
||||
checkAllFields(activity, true, "", "", "", "");
|
||||
|
||||
// Complete barcode capture successfully
|
||||
captureBarcodeWithResult(activity, R.id.captureButton, true);
|
||||
|
||||
checkAllFields(activity, "", BARCODE_DATA, BARCODE_TYPE);
|
||||
checkAllFields(activity, true, "", "", BARCODE_DATA, BARCODE_TYPE);
|
||||
|
||||
// Cancel the gift card creation
|
||||
final Button cancelButton = (Button) activity.findViewById(R.id.cancelButton);
|
||||
@@ -295,73 +307,98 @@ public class LoyaltyCardViewActivityTest
|
||||
assertEquals(true, activity.isFinishing());
|
||||
}
|
||||
|
||||
private ActivityController createActivityWithLoyaltyCard()
|
||||
private ActivityController createActivityWithLoyaltyCard(boolean editMode)
|
||||
{
|
||||
Intent intent = new Intent();
|
||||
final Bundle bundle = new Bundle();
|
||||
bundle.putInt("id", 1);
|
||||
bundle.putBoolean("update", true);
|
||||
|
||||
if(editMode)
|
||||
{
|
||||
bundle.putBoolean("update", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
bundle.putBoolean("view", true);
|
||||
}
|
||||
|
||||
intent.putExtras(bundle);
|
||||
|
||||
return Robolectric.buildActivity(LoyaltyCardViewActivity.class).withIntent(intent).create();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void startWithGiftCardCheckDisplay() throws IOException
|
||||
public void startWithLoyaltyCardEditModeCheckDisplay() throws IOException
|
||||
{
|
||||
ActivityController activityController = createActivityWithLoyaltyCard();
|
||||
ActivityController activityController = createActivityWithLoyaltyCard(true);
|
||||
Activity activity = (Activity)activityController.get();
|
||||
DBHelper db = new DBHelper(activity);
|
||||
|
||||
db.insertLoyaltyCard("store", BARCODE_DATA, BARCODE_TYPE);
|
||||
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
|
||||
activityController.start();
|
||||
activityController.visible();
|
||||
activityController.resume();
|
||||
|
||||
checkAllFields(activity, "store", BARCODE_DATA, BARCODE_TYPE);
|
||||
checkAllFields(activity, true, "store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void startWithLoyaltyCardViewModeCheckDisplay() throws IOException
|
||||
{
|
||||
ActivityController activityController = createActivityWithLoyaltyCard(false);
|
||||
Activity activity = (Activity)activityController.get();
|
||||
DBHelper db = new DBHelper(activity);
|
||||
|
||||
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
|
||||
activityController.start();
|
||||
activityController.visible();
|
||||
activityController.resume();
|
||||
|
||||
checkAllFields(activity, false, "store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void startWithLoyaltyCardWithBarcodeUpdateBarcode() throws IOException
|
||||
{
|
||||
ActivityController activityController = createActivityWithLoyaltyCard();
|
||||
ActivityController activityController = createActivityWithLoyaltyCard(true);
|
||||
Activity activity = (Activity)activityController.get();
|
||||
DBHelper db = new DBHelper(activity);
|
||||
|
||||
db.insertLoyaltyCard("store", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
|
||||
db.insertLoyaltyCard("store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
|
||||
|
||||
activityController.start();
|
||||
activityController.visible();
|
||||
activityController.resume();
|
||||
|
||||
checkAllFields(activity, "store", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
|
||||
checkAllFields(activity, true, "store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
|
||||
|
||||
// Complete barcode capture successfully
|
||||
captureBarcodeWithResult(activity, R.id.captureButton, true);
|
||||
|
||||
checkAllFields(activity, "store", BARCODE_DATA, BARCODE_TYPE);
|
||||
checkAllFields(activity, true, "store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void startWithGiftCardWithReceiptUpdateReceiptCancel() throws IOException
|
||||
public void startWithLoyaltyCardWithReceiptUpdateReceiptCancel() throws IOException
|
||||
{
|
||||
ActivityController activityController = createActivityWithLoyaltyCard();
|
||||
ActivityController activityController = createActivityWithLoyaltyCard(true);
|
||||
Activity activity = (Activity)activityController.get();
|
||||
DBHelper db = new DBHelper(activity);
|
||||
|
||||
db.insertLoyaltyCard("store", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
|
||||
db.insertLoyaltyCard("store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
|
||||
|
||||
activityController.start();
|
||||
activityController.visible();
|
||||
activityController.resume();
|
||||
|
||||
checkAllFields(activity, "store", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
|
||||
checkAllFields(activity, true, "store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
|
||||
|
||||
// Complete barcode capture successfully
|
||||
captureBarcodeWithResult(activity, R.id.captureButton, true);
|
||||
|
||||
checkAllFields(activity, "store", BARCODE_DATA, BARCODE_TYPE);
|
||||
checkAllFields(activity, true, "store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
|
||||
// Cancel the gift card creation
|
||||
final Button cancelButton = (Button) activity.findViewById(R.id.cancelButton);
|
||||
|
||||
@@ -83,7 +83,7 @@ public class MainActivityTest
|
||||
assertEquals(0, list.getCount());
|
||||
|
||||
DBHelper db = new DBHelper(mainActivity);
|
||||
db.insertLoyaltyCard("store", "cardId", BarcodeFormat.UPC_A.toString());
|
||||
db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString());
|
||||
|
||||
assertEquals(View.VISIBLE, helpText.getVisibility());
|
||||
assertEquals(View.GONE, list.getVisibility());
|
||||
|
||||
Reference in New Issue
Block a user