mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-27 21:24:42 +00:00
Group contact chips behind feature flag.
This commit is contained in:
committed by
Greyson Parrelli
parent
8e0fba7992
commit
0b279d1df3
@@ -0,0 +1,104 @@
|
||||
package org.thoughtcrime.securesms.contacts;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
|
||||
import static edu.emory.mathcs.backport.java.util.Collections.singletonList;
|
||||
import static java.util.Arrays.asList;
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public final class SelectedContactSetTest {
|
||||
|
||||
private final SelectedContactSet selectedContactSet = new SelectedContactSet();
|
||||
|
||||
@Test
|
||||
public void add_without_recipient_ids() {
|
||||
SelectedContact contact1 = SelectedContact.forPhone(null, "+1-555-000-0000");
|
||||
SelectedContact contact2 = SelectedContact.forUsername(null, "@alice");
|
||||
|
||||
assertTrue(selectedContactSet.add(contact1));
|
||||
assertTrue(selectedContactSet.add(contact2));
|
||||
|
||||
assertThat(selectedContactSet.getContacts(), is(asList(contact1, contact2)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void add_with_recipient_ids() {
|
||||
SelectedContact contact1 = SelectedContact.forPhone(RecipientId.from(1), "+1-555-000-0000");
|
||||
SelectedContact contact2 = SelectedContact.forUsername(RecipientId.from(2), "@alice");
|
||||
|
||||
assertTrue(selectedContactSet.add(contact1));
|
||||
assertTrue(selectedContactSet.add(contact2));
|
||||
|
||||
assertThat(selectedContactSet.getContacts(), is(asList(contact1, contact2)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void add_with_same_recipient_id() {
|
||||
SelectedContact contact1 = SelectedContact.forPhone(RecipientId.from(1), "+1-555-000-0000");
|
||||
SelectedContact contact2 = SelectedContact.forUsername(RecipientId.from(1), "@alice");
|
||||
|
||||
assertTrue(selectedContactSet.add(contact1));
|
||||
assertFalse(selectedContactSet.add(contact2));
|
||||
|
||||
assertThat(selectedContactSet.getContacts(), is(singletonList(contact1)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void remove_by_recipient_id() {
|
||||
SelectedContact contact1 = SelectedContact.forPhone(RecipientId.from(1), "+1-555-000-0000");
|
||||
SelectedContact contact2 = SelectedContact.forUsername(RecipientId.from(2), "@alice" );
|
||||
SelectedContact contact2Remove = SelectedContact.forUsername(RecipientId.from(2), "@alice2");
|
||||
|
||||
assertTrue(selectedContactSet.add(contact1));
|
||||
assertTrue(selectedContactSet.add(contact2));
|
||||
assertEquals(1, selectedContactSet.remove(contact2Remove));
|
||||
|
||||
assertThat(selectedContactSet.getContacts(), is(singletonList(contact1)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void remove_by_number() {
|
||||
SelectedContact contact1 = SelectedContact.forPhone(RecipientId.from(1), "+1-555-000-0000");
|
||||
SelectedContact contact2 = SelectedContact.forUsername(RecipientId.from(2), "@alice");
|
||||
SelectedContact contact1Remove = SelectedContact.forPhone(null, "+1-555-000-0000");
|
||||
|
||||
assertTrue(selectedContactSet.add(contact1));
|
||||
assertTrue(selectedContactSet.add(contact2));
|
||||
assertEquals(1, selectedContactSet.remove(contact1Remove));
|
||||
|
||||
assertThat(selectedContactSet.getContacts(), is(singletonList(contact2)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void remove_by_username() {
|
||||
SelectedContact contact1 = SelectedContact.forPhone(RecipientId.from(1), "+1-555-000-0000");
|
||||
SelectedContact contact2 = SelectedContact.forUsername(RecipientId.from(2), "@alice");
|
||||
SelectedContact contact2Remove = SelectedContact.forUsername(null, "@alice");
|
||||
|
||||
assertTrue(selectedContactSet.add(contact1));
|
||||
assertTrue(selectedContactSet.add(contact2));
|
||||
assertEquals(1, selectedContactSet.remove(contact2Remove));
|
||||
|
||||
assertThat(selectedContactSet.getContacts(), is(singletonList(contact1)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void remove_by_recipient_id_and_username() {
|
||||
SelectedContact contact1 = SelectedContact.forPhone(RecipientId.from(1), "+1-555-000-0000");
|
||||
SelectedContact contact2 = SelectedContact.forUsername(RecipientId.from(2), "@alice");
|
||||
SelectedContact contact3 = SelectedContact.forUsername(null, "@bob");
|
||||
SelectedContact contact2Remove = SelectedContact.forUsername(RecipientId.from(1), "@alice");
|
||||
|
||||
assertTrue(selectedContactSet.add(contact1));
|
||||
assertTrue(selectedContactSet.add(contact2));
|
||||
assertTrue(selectedContactSet.add(contact3));
|
||||
assertEquals(2, selectedContactSet.remove(contact2Remove));
|
||||
|
||||
assertThat(selectedContactSet.getContacts(), is(singletonList(contact3)));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user