public void TriggerFiresIfOutsidePeriod() { var clockMock = new Mock <IClock>(); var time = DateTime.Now; clockMock.Setup(c => c.Now).Returns(() => { time = time.AddMinutes(10); return(time); }); var inner = new TriggerStub { OnCheckAction = () => new IntegrationRequest("Test") }; var trigger = new RollUp(TimeSpan.FromMinutes(5)) { InnerTrigger = inner, Clock = clockMock.Object }; trigger.Reset(); var request = trigger.Check(); Assert.IsNotNull(request); }
public void ResetSetsTheNextTime() { var clockMock = new Mock <IClock>(); clockMock.Setup(c => c.Now).Returns(() => DateTime.Now); var trigger = new RollUp(TimeSpan.FromMinutes(5)) { Clock = clockMock.Object }; trigger.Reset(); var expected = DateTime.Now.AddMinutes(5); var actual = trigger.NextTime.Value; DateTimeAssert.AreEqual(expected, actual, DateTimeCompare.IgnoreSeconds); }
public void ValidateDetectsMissingPeriod() { var errorAdded = false; var trigger = new RollUp(); var validation = new ValidationLogStub { OnAddErrorMessage = (m, a) => { Assert.AreEqual( "No period set - trigger will not fire", m); CollectionAssert.IsEmpty(a); errorAdded = true; } }; trigger.Validate(validation); Assert.IsTrue(errorAdded); }
public void ValidResults() { //Target Entity targetEntity = new Entity { LogicalName = "lat_rollupentity", Id = Guid.NewGuid() }; targetEntity["lat_parentrollup"] = new EntityReference("lat_rollupentity", Guid.NewGuid()); //Expected value(s) const int expected = 2; var serviceMock = new Mock <IOrganizationService>(); serviceMock = ValidResultsSetup(serviceMock); int count = RollUp.GetChildRollUps(new EntityReference(), serviceMock.Object).Entities.Count; //Test(s) Assert.AreEqual(count, expected); }