    @Test
    public void shouldNotRemoveUnsuedChannel_whenChannelBelongsToDifferentPolicy() {

        // given
        AlertsChannel emailChannelInPolicy = channelInPolicy(savedEmailChannel, POLICY_ID, POLICY_ID + 1);
        when(alertsChannelsApiMock.list()).thenReturn(ImmutableList.of(
                savedUserChannel,
                emailChannelInPolicy,
                channelInPolicy(savedSlackChannel, POLICY_ID)
        ));
        when(alertsChannelsApiMock.deleteFromPolicy(POLICY_ID, emailChannelInPolicy.getId()))
                .thenReturn(emailChannelInPolicy);

        // when
        PolicyConfiguration policyConfiguration = buildPolicyConfiguration(SLACK_CHANNEL);
        testee.sync(policyConfiguration);

        // then
        AlertsPolicyChannels expected = AlertsPolicyChannels.builder()
                .policyId(POLICY_ID)
                .channelIds(ImmutableSet.of(savedSlackChannel.getId()))
                .build();

        InOrder order = inOrder(alertsChannelsApiMock, alertsPoliciesApiMock);
        order.verify(alertsChannelsApiMock).list();
        order.verify(alertsPoliciesApiMock).updateChannels(expected);
        order.verify(alertsChannelsApiMock).deleteFromPolicy(POLICY_ID, savedEmailChannel.getId());
        order.verify(alertsChannelsApiMock, never()).delete(savedEmailChannel.getId());
        order.verifyNoMoreInteractions();
    }