@@ -11,8 +11,54 @@ import org.junit.Test
1111import org.mockito.Mockito.mock
1212import org.mockito.Mockito.spy
1313import org.mockito.Mockito.verify
14+ import org.mockito.Mockito.`when`
1415
1516class EchoWebSocketListenerTest {
17+ @Test
18+ fun subscribeView_shouldUseUpdatedEventNames () {
19+ // Given
20+ val mockMappingData = spy(LanguageData ::class .java)
21+ val mockDistributionData = mock(DistributionInfoResponse .DistributionData ::class .java)
22+ val mockDataManager = mock(DataManager ::class .java)
23+ val mockViewTransformerManager = spy(ViewTransformerManager ::class .java)
24+ val mockWebSocket = mock(WebSocket ::class .java)
25+ val listener =
26+ EchoWebSocketListener (
27+ mockDataManager,
28+ mockMappingData,
29+ mockDistributionData,
30+ mockViewTransformerManager,
31+ null ,
32+ " en" ,
33+ )
34+ val project = DistributionInfoResponse .DistributionData .ProjectData (" 1" , " wsHash" )
35+ val user = DistributionInfoResponse .DistributionData .UserData (" 2" )
36+ val expectedUpdateEvent = " update-draft:wsHash:pr{1}:us{2}:en:tr{3}"
37+ val expectedSuggestionEvent = " top-suggestion:wsHash:pr{1}:en:tr{3}"
38+
39+ `when `(mockDataManager.getTicket(expectedUpdateEvent)).thenReturn(" update-ticket" )
40+ `when `(mockDataManager.getTicket(expectedSuggestionEvent)).thenReturn(" suggestion-ticket" )
41+
42+ val subscribeViewMethod =
43+ EchoWebSocketListener ::class .java.getDeclaredMethod(
44+ " subscribeView" ,
45+ WebSocket ::class .java,
46+ DistributionInfoResponse .DistributionData .ProjectData ::class .java,
47+ DistributionInfoResponse .DistributionData .UserData ::class .java,
48+ String ::class .java,
49+ )
50+ subscribeViewMethod.isAccessible = true
51+
52+ // When
53+ subscribeViewMethod.invoke(listener, mockWebSocket, project, user, " 3" )
54+
55+ // Then
56+ verify(mockDataManager).getTicket(expectedUpdateEvent)
57+ verify(mockDataManager).getTicket(expectedSuggestionEvent)
58+ verify(mockWebSocket).send(" {\" action\" :\" subscribe\" , \" event\" :\" $expectedUpdateEvent \" , \" ticket\" : \" update-ticket\" }" )
59+ verify(mockWebSocket).send(" {\" action\" :\" subscribe\" , \" event\" :\" $expectedSuggestionEvent \" , \" ticket\" : \" suggestion-ticket\" }" )
60+ }
61+
1662 @Test
1763 fun whenOnOpen_shouldRegisterViewChangeListener () {
1864 // Given
0 commit comments