public async Task should_disconnect() { /* Given */ var log = Substitute.For <ILogger <GraphQLEndPoint <TestSchema> > >(); var handler = Substitute.For <ISubscriptionProtocolHandler <TestSchema> >(); var connection = Substitute.For <IConnectionContext>(); connection.ConnectionId.Returns("1"); var sut = new GraphQLEndPoint <TestSchema>(handler, log); /* When */ await sut.OnConnectedAsync(connection).ConfigureAwait(false); await sut.CloseConnectionAsync(connection).ConfigureAwait(false); /* Then */ Assert.False(sut.Connections.ContainsKey(connection.ConnectionId)); await connection.Received().CloseAsync().ConfigureAwait(false); }