Exemple #1
0
        public async Task ShouldPopulateStandardReportFieldsAndSave()
        {
            var loggerMock = GetLoggerMock <IReporter>();

            Common.SetupConfiguration(_configurationMock);
            var repositoryMock = new Mock <IRepository>();
            var data           = Common.SetupDataForBaseReporter(repositoryMock);
            var dummy          = new DummyReporter(repositoryMock.Object, _configurationMock.Object, loggerMock.Object);
            var query          = new ReportQuery
            {
                StartDate = DateTime.UtcNow.AddDays(-7),
                EndDate   = DateTime.UtcNow.AddDays(2),
                ProfileId = data.profile.Id
            };
            var report = await dummy.ReportAsync(query);

            report.Id.Should().NotBeEmpty();
            report.DateTaken.Should().BeCloseTo(DateTime.UtcNow);
            report.StartDate.Should().Be(query.StartDate);
            report.EndDate.Should().Be(query.EndDate);
            report.ProfileName.Should().Be(data.profile.Name);
            report.ReporterId.Should().Be(dummy.Id);
            report.ReportName.Should().Be(dummy.Name);
            repositoryMock.Verify(r => r.CreateAsync(It.IsAny <ReportResult>()), Times.Once());
        }
Exemple #2
0
        public async Task ShouldInitializeInputObject()
        {
            var loggerMock = GetLoggerMock <IReporter>();

            Common.SetupConfiguration(_configurationMock);
            var repositoryMock = new Mock <IRepository>();
            var data           = Common.SetupDataForBaseReporter(repositoryMock);

            var dummy = new DummyReporter(repositoryMock.Object, _configurationMock.Object, loggerMock.Object);
            var query = new ReportQuery
            {
                StartDate = DateTime.UtcNow.AddDays(-7),
                EndDate   = DateTime.UtcNow.AddDays(2),
                ProfileId = data.profile.Id
            };
            await dummy.ReportAsync(query);

            dummy.VerifyInputObject(query, data.profile, data.members.Take(2), data.repositories, data.projects[0]);
            repositoryMock.Verify(r => r.GetSingleAsync <Profile>(It.Is <Guid>(e => VerifySelectProfileExpression(e, data.profile))), Times.Once());
            repositoryMock.Verify();
        }