public void Main_WhenInvalidReport_ShouldNotStartProcessing() { // Arrange var clientMock = new Mock <IClient>(); var generatorMock = new Mock <IGenerator>(); var systemUnderTest = new ReportTool(clientMock.Object, generatorMock.Object); // Act systemUnderTest.Main(InvalidReportsFile); // Assert clientMock.Verify(cli => cli.ScanAsync(It.IsAny <DataOptions>(), It.IsAny <IEnumerable <string> >(), It.IsAny <Uri>()), Times.Never); generatorMock.Verify(gen => gen.CreateReportsAsync(It.IsAny <IEnumerable <IReport> >(), It.IsAny <AzureDevOpsInstance>(), It.IsAny <string>()), Times.Never); }
public void Main_WhenArgumentEmpty_ThrowsArgumentNullException() { // Arrange var clientMock = new Mock <IClient>(); var generatorMock = new Mock <IGenerator>(); var systemUnderTest = new ReportTool(clientMock.Object, generatorMock.Object); // Act var actualException = Record.Exception(() => systemUnderTest.Main(string.Empty)); // Assert actualException.Should().NotBeNull(); actualException.Should().BeOfType <ArgumentNullException>(); }
public void Main_WhenFileNotFound_ThrowsArgumentException() { // Arrange var testFile = "bogus"; var clientMock = new Mock <IClient>(); var generatorMock = new Mock <IGenerator>(); var systemUnderTest = new ReportTool(clientMock.Object, generatorMock.Object); // Act var actualException = Record.Exception(() => systemUnderTest.Main(testFile)); // Assert actualException.Should().NotBeNull(); actualException.Should().BeOfType <ArgumentException>(); }
public void Main_WhenReports_ShouldStartProcessing() { // Arrange var testClient = new System.Net.Http.HttpClient(); var clientMock = new Mock <IClient>(); var generatorMock = new Mock <IGenerator>(); clientMock.Setup(cli => cli.RestClient).Returns(testClient); var systemUnderTest = new ReportTool(clientMock.Object, generatorMock.Object); // Act systemUnderTest.Main(AllReportsFile); // Assert clientMock.Verify(cli => cli.ScanAsync(It.IsAny <DataOptions>(), It.IsAny <IEnumerable <string> >(), It.IsAny <Uri>()), Times.Once); generatorMock.Verify(gen => gen.CreateReportsAsync(It.IsAny <IEnumerable <IReport> >(), It.IsAny <AzureDevOpsInstance>(), It.IsAny <string>()), Times.Once); testClient.Dispose(); }