Skip to content

Commit

Permalink
Change position of GroupsV2 leave update message.
Browse files Browse the repository at this point in the history
  • Loading branch information
alan-signal authored and greyson-signal committed Jul 28, 2020
1 parent 8cb9ab3 commit 745a7f7
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ List<UpdateDescription> describeChanges(@NonNull DecryptedGroupChange change) {

if (change.getEditor().isEmpty() || UuidUtil.UNKNOWN_UUID.equals(UuidUtil.fromByteString(change.getEditor()))) {
describeUnknownEditorMemberAdditions(change, updates);
describeUnknownEditorMemberRemovals(change, updates);

describeUnknownEditorModifyMemberRoles(change, updates);
describeUnknownEditorInvitations(change, updates);
describeUnknownEditorRevokedInvitations(change, updates);
Expand All @@ -93,13 +93,15 @@ List<UpdateDescription> describeChanges(@NonNull DecryptedGroupChange change) {
describeUnknownEditorNewAttributeAccess(change, updates);
describeUnknownEditorNewMembershipAccess(change, updates);

describeUnknownEditorMemberRemovals(change, updates);

if (updates.isEmpty()) {
describeUnknownEditorUnknownChange(updates);
}

} else {
describeMemberAdditions(change, updates);
describeMemberRemovals(change, updates);

describeModifyMemberRoles(change, updates);
describeInvitations(change, updates);
describeRevokedInvitations(change, updates);
Expand All @@ -110,6 +112,8 @@ List<UpdateDescription> describeChanges(@NonNull DecryptedGroupChange change) {
describeNewAttributeAccess(change, updates);
describeNewMembershipAccess(change, updates);

describeMemberRemovals(change, updates);

if (updates.isEmpty()) {
describeUnknownChange(change, updates);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -767,6 +767,30 @@ public void multiple_changes() {
"Alice changed who can edit group membership to \"All members\".")));
}

@Test
public void multiple_changes_leave_and_promote() {
DecryptedGroupChange change = changeBy(alice)
.deleteMember(alice)
.promoteToAdmin(bob)
.build();

assertThat(describeChange(change), is(Arrays.asList(
"Alice made Bob an admin.",
"Alice left the group.")));
}

@Test
public void multiple_changes_leave_and_promote_by_unknown() {
DecryptedGroupChange change = changeByUnknown()
.deleteMember(alice)
.promoteToAdmin(bob)
.build();

assertThat(describeChange(change), is(Arrays.asList(
"Bob is now an admin.",
"Alice is no longer in the group.")));
}

@Test
public void multiple_changes_by_unknown() {
DecryptedGroupChange change = changeByUnknown()
Expand All @@ -785,6 +809,22 @@ public void multiple_changes_by_unknown() {
"Who can edit group membership has been changed to \"All members\".")));
}

@Test
public void multiple_changes_join_and_leave_by_unknown() {
DecryptedGroupChange change = changeByUnknown()
.addMember(alice)
.promoteToAdmin(alice)
.deleteMember(alice)
.title("Updated title")
.build();

assertThat(describeChange(change), is(Arrays.asList(
"Alice joined the group.",
"Alice is now an admin.",
"The group name has changed to \"Updated title\".",
"Alice is no longer in the group.")));
}

// Group state without a change record

@Test
Expand Down

0 comments on commit 745a7f7

Please sign in to comment.