package com.jakeapp.core.services; import static org.mockito.Mockito.verify; import static org.mockito.internal.verification.VerificationModeFactory.times; import java.util.UUID; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import com.jakeapp.jake.ics.UserId; import com.jakeapp.violet.actions.global.MockUserIdFactory; import com.jakeapp.violet.di.IUserIdFactory; import com.jakeapp.violet.model.User; import com.jakeapp.violet.protocol.invites.IProjectInvitationListener; import com.jakeapp.violet.protocol.invites.ProjectInvitationHandler; public class ProjectInvitationHandlerTest { private ProjectInvitationHandler projectInvitationHandler; private IUserIdFactory userids = new MockUserIdFactory(); private UserId other = userids.get("someone@localhost"); private IProjectInvitationListener projectInvitationListener; private UUID projectid = new UUID(31, 124); private String projectname = "myproject"; @Before public void setup() { projectInvitationListener = Mockito .mock(IProjectInvitationListener.class); projectInvitationHandler = new ProjectInvitationHandler(); projectInvitationHandler .registerInvitationListener(projectInvitationListener); } @Test public void testIncomingInviteMessage() throws Exception { projectInvitationHandler.receivedMessage(other, "<invite/>" + projectid.toString() + projectname); verify(projectInvitationListener, times(1)).invited( Mockito.eq(new User(other.getUserId())), Mockito.eq(projectname), Mockito.eq(projectid)); Mockito.verifyNoMoreInteractions(projectInvitationListener); } }