public AnalyticsTransmitterTests() { environmentTelemetryChecker = new Mock <IEnvironmentSpecFlowTelemetryChecker>(); analyticsTransmitterSink = new Mock <IAnalyticsTransmitterSink>(); sut = new AnalyticsTransmitter(analyticsTransmitterSink.Object, environmentTelemetryChecker.Object); }
public void Setup() { userUniqueIdStoreStub = new Mock <IUserUniqueIdStore>(); enableAnalyticsCheckerStub = new Mock <IEnableAnalyticsChecker>(); analyticsTransmitterSink = new Mock <IAnalyticsTransmitterSink>(); ideInformationStore = new Mock <IIdeInformationStore>(); projectTargetFrameworksProvider = new Mock <IProjectTargetFrameworksProvider>(); currentExtensionVersionProviderStub = new Mock <ICurrentExtensionVersionProvider>(); currentExtensionVersionProviderStub.Setup(ce => ce.GetCurrentExtensionVersion()) .Returns(new Version("2019.0")); sut = new AnalyticsTransmitter(userUniqueIdStoreStub.Object, enableAnalyticsCheckerStub.Object, analyticsTransmitterSink.Object, ideInformationStore.Object, projectTargetFrameworksProvider.Object, currentExtensionVersionProviderStub.Object); }
public async Task TransmitSpecFlowProjectCompilingEvent_AnalyticsEnabled_ShouldCallSink() { // ARRANGE var analyticsTransmitterSinkMock = new Mock <IAnalyticsTransmitterSink>(); var environmentSpecFlowTelemetryCheckerMock = new Mock <IEnvironmentSpecFlowTelemetryChecker>(); environmentSpecFlowTelemetryCheckerMock.Setup(m => m.IsSpecFlowTelemetryEnabled()) .Returns(true); var specFlowProjectCompilingEvent = It.IsAny <SpecFlowProjectCompilingEvent>(); var analyticsTransmitter = new AnalyticsTransmitter(analyticsTransmitterSinkMock.Object, environmentSpecFlowTelemetryCheckerMock.Object); // ACT await analyticsTransmitter.TransmitSpecFlowProjectCompilingEvent(specFlowProjectCompilingEvent); // ASSERT analyticsTransmitterSinkMock.Verify(m => m.TransmitEvent(It.IsAny <IAnalyticsEvent>(), It.IsAny <string>()), Times.Once); }
public async Task TryTransmitEvent_AnalyticsDisabled_ShouldNotCallSink() { // ARRANGE var analyticsTransmitterSinkMock = new Mock <IAnalyticsTransmitterSink>(); var environmentSpecFlowTelemetryCheckerMock = new Mock <IEnvironmentSpecFlowTelemetryChecker>(); environmentSpecFlowTelemetryCheckerMock.Setup(m => m.IsSpecFlowTelemetryEnabled()) .Returns(false); var analyticsEventMock = new Mock <IAnalyticsEvent>(); var analyticsTransmitter = new AnalyticsTransmitter(analyticsTransmitterSinkMock.Object, environmentSpecFlowTelemetryCheckerMock.Object); // ACT await analyticsTransmitter.TransmitEvent(analyticsEventMock.Object); // ASSERT analyticsTransmitterSinkMock.Verify(sink => sink.TransmitEvent(It.IsAny <IAnalyticsEvent>(), It.IsAny <string>()), Times.Never); }
public async Task TryTransmitEvent_AnalyticsDisabled_ShouldReturnSuccess() { // ARRANGE var analyticsTransmitterSinkMock = new Mock <IAnalyticsTransmitterSink>(); var environmentSpecFlowTelemetryCheckerMock = new Mock <IEnvironmentSpecFlowTelemetryChecker>(); environmentSpecFlowTelemetryCheckerMock.Setup(m => m.IsSpecFlowTelemetryEnabled()) .Returns(false); var analyticsEventMock = new Mock <IAnalyticsEvent>(); var analyticsTransmitter = new AnalyticsTransmitter(analyticsTransmitterSinkMock.Object, environmentSpecFlowTelemetryCheckerMock.Object); // ACT var result = await analyticsTransmitter.TransmitEvent(analyticsEventMock.Object); // ASSERT result.Should().BeAssignableTo <ISuccess>(); }