public void EvaluatesOnEvaluationUpdated() { // Arrange var game = Helpers.GetOrCreateGame("EvaluatesOnEvaluationUpdated"); var user = Helpers.GetOrCreateUser("EvaluatesOnEvaluationUpdated"); SessionTracker.StartSession(game.Id, user.Id); var evaluation = Helpers.CreateGenericAchievement("EvaluatesOnEvaluationUpdated", game.Id); Helpers.CreateGenericAchievementGameData(evaluation, user.Id); var progress = EvaluationTracker.GetPendingNotifications(game.Id, user.Id); if (progress?.ContainsKey(user.Id) == true) { Assert.False(progress[user.Id].Any(kvp => kvp.Key.Id == evaluation.Id)); // Make sure the evaluation wasn't returned when it wasn't completed } // Act foreach (var criteria in evaluation.EvaluationCriterias) { criteria.Value = $"{50}"; } ControllerLocator.EvaluationController.Update(evaluation); // Assert progress = EvaluationTracker.GetPendingNotifications(game.Id, user.Id); foreach (var actorProgress in progress.Values) { actorProgress.Values.ToList().ForEach(val => Assert.Equal(1, val)); } }
public OperationEvaluationContext(WorkbookEvaluator bookEvaluator, IEvaluationWorkbook workbook, int sheetIndex, int srcRowNum, int srcColNum, EvaluationTracker tracker) { _bookEvaluator = bookEvaluator; _workbook = workbook; _sheetIndex = sheetIndex; _rowIndex = srcRowNum; _columnIndex = srcColNum; _tracker = tracker; }
public void NoEvaluationWhenNoSession() { // Arrange var game = Helpers.GetOrCreateGame("NoEvaluationWhenNoSession"); var user = Helpers.GetOrCreateUser("NoEvaluationWhenNoSession"); Helpers.CreateAndCompleteGenericAchievement("NoEvaluationWhenNoSession", user.Id, game.Id); // Act var progress = EvaluationTracker.GetPendingNotifications(game.Id, user.Id); // Assert Assert.Equal(0, progress.Count); }
public void EvaluatesOnSessionStarted() { // Arrange var game = Helpers.GetOrCreateGame("EvaluatesOnSessionStarted"); var user = Helpers.GetOrCreateUser("EvaluatesOnSessionStarted"); var evaluation = Helpers.CreateAndCompleteGenericAchievement("EvaluatesOnSessionStarted", user.Id, game.Id); // Act SessionTracker.StartSession(game.Id, user.Id); // Assert var progress = EvaluationTracker.GetPendingNotifications(game.Id, user.Id); Assert.True(progress.ContainsKey(user.Id)); // should have evalauted for this user Assert.True(progress[user.Id].Any(kvp => kvp.Key.Id == evaluation.Id)); // Should have returned the progress for the evaluation Assert.Equal(1, progress[user.Id].Single(kvp => kvp.Key.Id == evaluation.Id).Value); //Completed evaluation should have progress value of 1 }
public void NoEvaluationWhenNotComplete() { // Arrange var game = Helpers.GetOrCreateGame("NoEvaluationWhenNotComplete"); var user = Helpers.GetOrCreateUser("NoEvaluationWhenNotComplete"); var evaluation = Helpers.CreateGenericAchievement("NoEvaluationWhenNotComplete", game.Id); Helpers.CreateGenericAchievementGameData(evaluation, user.Id); // Act var progress = EvaluationTracker.GetPendingNotifications(game.Id, user.Id); // Assert if (progress.ContainsKey(user.Id)) { Assert.False(progress[user.Id].Any(p => p.Key.Id == evaluation.Id)); } }
public void EvaluatesOnEvaluationDataAdded() { // Arrange var game = Helpers.GetOrCreateGame("EvaluatesOnEvaluationDataAdded"); var user = Helpers.GetOrCreateUser("EvaluatesOnEvaluationDataAdded"); SessionTracker.StartSession(game.Id, user.Id); var evaluation = Helpers.CreateGenericAchievement("EvaluatesOnEvaluationDataAdded", game.Id); var gameDatas = Helpers.ComposeAchievementGameDatas(user.Id, evaluation, "100"); // Act gameDatas.ForEach(g => ControllerLocator.GameDataController.Add(g)); // Assert var progress = EvaluationTracker.GetPendingNotifications(game.Id, user.Id); Assert.True(progress.ContainsKey(user.Id)); // should have evalauted for this user Assert.True(progress[user.Id].Any(kvp => kvp.Key.Id == evaluation.Id)); // Should have returned the progress for the evaluation }
public void RemovesOnSessionEnded() { // Arrange var game = Helpers.GetOrCreateGame("RemovesOnSessionEnded"); var user = Helpers.GetOrCreateUser("RemovesOnSessionEnded"); Helpers.CreateAndCompleteGenericAchievement("RemovesOnSessionEnded", user.Id, game.Id); var session = SessionTracker.StartSession(game.Id, user.Id); var progress = EvaluationTracker.GetPendingNotifications(game.Id, user.Id); Assert.True(progress.ContainsKey(user.Id)); // should have evalauted for this user // Act SessionTracker.EndSession(session.Id); // Assert progress = EvaluationTracker.GetPendingNotifications(game.Id, user.Id); Assert.False(progress.ContainsKey(user.Id)); // Shouldn't have any progress for this user }
public void DoesntGetAlreadyRecievedNotifications() { // Arrange var game = Helpers.GetOrCreateGame("DoesntGetAlreadyRecievedNotifications"); var user = Helpers.GetOrCreateUser("DoesntGetAlreadyRecievedNotifications"); SessionTracker.StartSession(game.Id, user.Id); var evaluation = Helpers.CreateAndCompleteGenericAchievement("DoesntGetAlreadyRecievedNotifications", user.Id, game.Id); var progress = EvaluationTracker.GetPendingNotifications(game.Id, user.Id); Helpers.CompleteGenericAchievement(evaluation, game.Id); // Act progress = EvaluationTracker.GetPendingNotifications(game.Id, user.Id); // Assert if (progress.ContainsKey(user.Id)) { Assert.False(progress[user.Id].Any(p => p.Key.Id == evaluation.Id)); } }
public void RemovesProgressWhenGotten() { // Arrange var game = Helpers.GetOrCreateGame("RemovesProgressWhenGotten"); var user = Helpers.GetOrCreateUser("RemovesProgressWhenGotten"); SessionTracker.StartSession(game.Id, user.Id); var evaluation = Helpers.CreateAndCompleteGenericAchievement("RemovesProgressWhenGotten", user.Id, game.Id); // Act var progress = EvaluationTracker.GetPendingNotifications(game.Id, user.Id); // Assert progress = EvaluationTracker.GetPendingNotifications(game.Id, user.Id); if (progress.ContainsKey(user.Id)) { Assert.False(progress[user.Id].Any(p => p.Key.Id == evaluation.Id)); } }
public void RemovesProgressOnEvaluationDeleted() { // Arange var game = Helpers.GetOrCreateGame("RemovesProgressOnEvaluationDeleted"); var user = Helpers.GetOrCreateUser("RemovesProgressOnEvaluationDeleted"); SessionTracker.StartSession(game.Id, user.Id); var evaluation = Helpers.CreateAndCompleteGenericAchievement("RemovesProgressOnEvaluationDeleted", user.Id, game.Id); // Act ControllerLocator.EvaluationController.Delete(evaluation.Token, game.Id, EvaluationType.Achievement); // Assert var progress = EvaluationTracker.GetPendingNotifications(game.Id, user.Id); // Make sure that there are no instances of the evaluation in the progress foreach (var actorProgress in progress) { Assert.False(actorProgress.Value.Any(kvp => kvp.Key.Id == evaluation.Id)); } }
public WrapResponseFilter(EvaluationTracker evaluationTracker) { _evaluationTracker = evaluationTracker; }
protected EvaluationsController(Core.Controllers.EvaluationController evaluationCoreController, EvaluationTracker evaluationTracker, IAuthorizationService authorizationService) { EvaluationCoreController = evaluationCoreController; _evaluationTracker = evaluationTracker; _authorizationService = authorizationService; }
/// <summary> /// /// </summary> /// <param name="evaluationCoreController"></param> /// <param name="evaluationTracker"></param> /// <param name="authorizationService"></param> public AchievementsController(EvaluationController evaluationCoreController, EvaluationTracker evaluationTracker, IAuthorizationService authorizationService) : base(evaluationCoreController, evaluationTracker, authorizationService) { }
public SkillsController(Core.Controllers.EvaluationController evaluationCoreController, EvaluationTracker evaluationTracker, IAuthorizationService authorizationService) : base(evaluationCoreController, evaluationTracker, authorizationService) { }
protected EvaluationTestsBase() { ProgressEvaluator = new ProgressEvaluator(ControllerLocator.EvaluationController); EvaluationTracker = new EvaluationTracker(ProgressEvaluator, ControllerLocator.EvaluationController, SessionTracker); }