public async Task validate_average_on_events_and_activities() { MockServiceProxyFactory serviceProxyFactory = new MockServiceProxyFactory(); ParticipantActor target = await CreateParticipantActor(ActorId.CreateRandom()); var currentDate = DateTimeOffset.UtcNow; var current = await target.StateManager.GetStateAsync <Participations>(ParticipationsKeyName); var record = current.Records.FirstOrDefault(); current.StartDate = DateTimeOffset.UtcNow.AddYears(-1); record.Events.Add(new ParticipantEvent() { Id = Guid.NewGuid().ToString(), Points = 1, Date = currentDate.AddMonths(-1) }); record.Events.Add(new ParticipantEvent() { Id = Guid.NewGuid().ToString(), Points = 1, Date = currentDate }); record.Activities.Add(new ParticipantActivity() { Points = 11, Date = currentDate }); await target.StateManager.SetStateAsync(ParticipationsKeyName, current); var participations = await target.GetMonthParticipations(currentDate.Month, currentDate.Year); Assert.AreEqual(1, Math.Floor(participations.AveragePointsPerMonth)); }
public async Task validate_new_actor_has_no_participations() { MockServiceProxyFactory serviceProxyFactory = new MockServiceProxyFactory(); ParticipantActor target = await CreateParticipantActor(ActorId.CreateRandom()); var participations = await target.GetMonthParticipations(1, 2017); Assert.IsFalse(participations.Activities.Any()); Assert.IsFalse(participations.Events.Any()); }
public async Task approve_submissions() { _actorProxyFactory.MissingActor += actorProxyFactory_MissingActor; ParticipantActor target = await CreateParticipantActor(ActorId.CreateRandom()); var currentDate = DateTimeOffset.UtcNow; await target.AddActivity(new ParticipantActivity() { Points = 1, Date = currentDate }); await target.AddEvent(new ParticipantEvent() { Id = Guid.NewGuid().ToString(), Points = 1, Date = currentDate }); await target.SubmitForApproval(currentDate.Month, currentDate.Year); Assert.IsTrue(_messageDictionary.ContainsKey("recipient")); }
public async Task validate_annual_total_on_events_and_activities() { MockServiceProxyFactory serviceProxyFactory = new MockServiceProxyFactory(); ParticipantActor target = await CreateParticipantActor(ActorId.CreateRandom()); var currentDate = DateTimeOffset.UtcNow; var current = await target.StateManager.GetStateAsync <Participations>(ParticipationsKeyName); int monthChanger = -1; if (currentDate.Month == 1) { monthChanger = 1; } var record = current.Records.FirstOrDefault(); record.Events.Add(new ParticipantEvent() { Id = Guid.NewGuid().ToString(), Points = 1, Date = currentDate.AddMonths(monthChanger) }); record.Events.Add(new ParticipantEvent() { Id = Guid.NewGuid().ToString(), Points = 1, Date = currentDate }); record.Activities.Add(new ParticipantActivity() { Points = 1, Date = currentDate }); await target.StateManager.SetStateAsync(ParticipationsKeyName, current); var participations = await target.GetMonthParticipations(currentDate.Month, currentDate.Year); Assert.AreEqual(3, participations.AnnualTotalPoints); }