Exemple #1
0
        public void RefreshTimesheetInstant_OnSuccess_ReturnsTrue()
        {
            // Arrange
            ShimReportData.ConstructorGuid = (_, guid) => { };
            var message      = string.Empty;
            var expectedLogs = new List <string>
            {
                "Begin refreshing time sheet data for web",
                "Finished refreshing time sheet data for web"
            };
            var refreshTimeSheetWasCalled = false;
            var logMessages = new List <string>();

            ShimReportData.AllInstances.LogStatusStringStringStringStringInt32Int32String =
                (_, listId, listName, shortMsg, longMsg, level, type, jobGuid) =>
            {
                logMessages.Add(shortMsg);
                return(true);
            };
            ShimReportData.AllInstances.RefreshTimeSheetGuidStringGuid =
                (_, site, title, job) => refreshTimeSheetWasCalled     = true;
            ShimReportBiz.AllInstances.WebTitleGet = _ => DummyString;

            // Act
            var result = reportBiz.RefreshTimesheetInstant(out message, DummyGuid);

            // Assert
            result.ShouldSatisfyAllConditions(
                () => result.ShouldBeFalse(),
                () => message.ShouldBeNullOrEmpty(),
                () => refreshTimeSheetWasCalled.ShouldBeTrue(),
                () => expectedLogs.ForEach(p => logMessages.Any(log => log.Contains(p))));
        }