Change position of GroupsV2 leave update message.
parent
8cb9ab3204
commit
745a7f76ea
|
@ -82,7 +82,7 @@ final class GroupsV2UpdateMessageProducer {
|
||||||
|
|
||||||
if (change.getEditor().isEmpty() || UuidUtil.UNKNOWN_UUID.equals(UuidUtil.fromByteString(change.getEditor()))) {
|
if (change.getEditor().isEmpty() || UuidUtil.UNKNOWN_UUID.equals(UuidUtil.fromByteString(change.getEditor()))) {
|
||||||
describeUnknownEditorMemberAdditions(change, updates);
|
describeUnknownEditorMemberAdditions(change, updates);
|
||||||
describeUnknownEditorMemberRemovals(change, updates);
|
|
||||||
describeUnknownEditorModifyMemberRoles(change, updates);
|
describeUnknownEditorModifyMemberRoles(change, updates);
|
||||||
describeUnknownEditorInvitations(change, updates);
|
describeUnknownEditorInvitations(change, updates);
|
||||||
describeUnknownEditorRevokedInvitations(change, updates);
|
describeUnknownEditorRevokedInvitations(change, updates);
|
||||||
|
@ -93,13 +93,15 @@ final class GroupsV2UpdateMessageProducer {
|
||||||
describeUnknownEditorNewAttributeAccess(change, updates);
|
describeUnknownEditorNewAttributeAccess(change, updates);
|
||||||
describeUnknownEditorNewMembershipAccess(change, updates);
|
describeUnknownEditorNewMembershipAccess(change, updates);
|
||||||
|
|
||||||
|
describeUnknownEditorMemberRemovals(change, updates);
|
||||||
|
|
||||||
if (updates.isEmpty()) {
|
if (updates.isEmpty()) {
|
||||||
describeUnknownEditorUnknownChange(updates);
|
describeUnknownEditorUnknownChange(updates);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
describeMemberAdditions(change, updates);
|
describeMemberAdditions(change, updates);
|
||||||
describeMemberRemovals(change, updates);
|
|
||||||
describeModifyMemberRoles(change, updates);
|
describeModifyMemberRoles(change, updates);
|
||||||
describeInvitations(change, updates);
|
describeInvitations(change, updates);
|
||||||
describeRevokedInvitations(change, updates);
|
describeRevokedInvitations(change, updates);
|
||||||
|
@ -110,6 +112,8 @@ final class GroupsV2UpdateMessageProducer {
|
||||||
describeNewAttributeAccess(change, updates);
|
describeNewAttributeAccess(change, updates);
|
||||||
describeNewMembershipAccess(change, updates);
|
describeNewMembershipAccess(change, updates);
|
||||||
|
|
||||||
|
describeMemberRemovals(change, updates);
|
||||||
|
|
||||||
if (updates.isEmpty()) {
|
if (updates.isEmpty()) {
|
||||||
describeUnknownChange(change, updates);
|
describeUnknownChange(change, updates);
|
||||||
}
|
}
|
||||||
|
|
|
@ -767,6 +767,30 @@ public final class GroupsV2UpdateMessageProducerTest {
|
||||||
"Alice changed who can edit group membership to \"All members\".")));
|
"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
|
@Test
|
||||||
public void multiple_changes_by_unknown() {
|
public void multiple_changes_by_unknown() {
|
||||||
DecryptedGroupChange change = changeByUnknown()
|
DecryptedGroupChange change = changeByUnknown()
|
||||||
|
@ -785,6 +809,22 @@ public final class GroupsV2UpdateMessageProducerTest {
|
||||||
"Who can edit group membership has been changed to \"All members\".")));
|
"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
|
// Group state without a change record
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
Loading…
Reference in New Issue