public async Task LoadsPracticeHistoryEntriesOnIntializeTest() { Card card = new Card() { CardId = 1 }; card.Fields.Add(new CardField() { FieldId = 1, FieldName = "Field 1" }); card.Fields.Add(new CardField() { FieldId = 2, FieldName = "Field 2" }); PracticeHistoryEntry entry1 = new PracticeHistoryEntry() { Field = new CardField() { FieldName = "Field 1" } }; PracticeHistoryEntry entry2 = new PracticeHistoryEntry() { Field = new CardField() { FieldName = "Field 2" } }; ApiConnectorMock mock = new ApiConnectorMock(); mock.Replies.Push(new ApiReply <List <PracticeHistoryEntry> >() { WasSuccessful = true, Result = new List <PracticeHistoryEntry>() { entry1, entry2 } }); mock.Replies.Push(new ApiReply <Card>() { WasSuccessful = true, Result = card }); CardStatisticsViewModel viewModel = new CardStatisticsViewModel(navigationManagerMock, mock); bool result = await viewModel.InitializeAsync(); Assert.IsTrue(result); Assert.AreEqual(HttpMethod.Get, mock.Methods.Pop()); Dictionary <string, object> parameters = mock.Parameters.Pop() as Dictionary <string, object>; Assert.AreEqual((long)1, parameters[nameof(Card.CardId)]); Assert.IsTrue(viewModel.PracticeHistoryEntries.Contains(entry1)); Assert.IsTrue(viewModel.PracticeHistoryEntries.Contains(entry2)); Assert.AreEqual(EntityNameHelper.GetName <Card>(), viewModel.SelectableDisplayUnits[0]); Assert.AreEqual(EntityNameHelper.GetName <Card>(), viewModel.SelectedDisplayUnit); Assert.IsTrue(viewModel.SelectableDisplayUnits.Contains("Field 1")); Assert.IsTrue(viewModel.SelectableDisplayUnits.Contains("Field 2")); }
public async Task <ActionResult <CardStatisticsViewModel> > GetStatistics() { var cards = (await _UnitOfWork.CardRepository.GetCards()).ToList(); var data = new CardStatisticsViewModel { NbOfCard = cards.Count, NbOfCardUsed = cards.Count(t => t.IsUsed) }; data.NbOfCardAvailable = data.NbOfCard - data.NbOfCardUsed; return(data); }
public void SelectsDisplayedEntriesCorrectlyTest() { PracticeHistoryEntry entry1 = new PracticeHistoryEntry() { Field = new CardField() { FieldName = "Field 1" } }; PracticeHistoryEntry entry2 = new PracticeHistoryEntry() { Field = new CardField() { FieldName = "Field 2" } }; CardStatisticsViewModel viewModel = new CardStatisticsViewModel(navigationManagerMock, new ApiConnectorMock()); viewModel.PracticeHistoryEntries.AddRange(new List <PracticeHistoryEntry>() { entry1, entry2 }); viewModel.SelectableDisplayUnits.Add(EntityNameHelper.GetName <Card>()); viewModel.SelectableDisplayUnits.Add("Field 1"); viewModel.SelectableDisplayUnits.Add("Field 2"); viewModel.SelectedDisplayUnit = EntityNameHelper.GetName <Card>(); Assert.AreEqual(2, viewModel.DisplayedEntries.Count()); Assert.IsTrue(viewModel.DisplayedEntries.Contains(entry1)); Assert.IsTrue(viewModel.DisplayedEntries.Contains(entry2)); viewModel.SelectedDisplayUnit = "Field 1"; Assert.AreEqual(1, viewModel.DisplayedEntries.Count()); Assert.IsTrue(viewModel.DisplayedEntries.Contains(entry1)); viewModel.SelectedDisplayUnit = "Field 2"; Assert.AreEqual(1, viewModel.DisplayedEntries.Count()); Assert.IsTrue(viewModel.DisplayedEntries.Contains(entry2)); }
public async Task ErrorOnLoadingPracticeHistoryEntriesTest() { NotificationProviderMock notificationProviderMock = new NotificationProviderMock(); NotificationMessageProvider.Initialize(notificationProviderMock, 500000); Card card = new Card() { CardId = 1 }; card.Fields.Add(new CardField() { FieldId = 1, FieldName = "Field 1" }); card.Fields.Add(new CardField() { FieldId = 2, FieldName = "Field 2" }); ApiConnectorMock mock = new ApiConnectorMock(); mock.Replies.Push(new ApiReply <List <PracticeHistoryEntry> >() { WasSuccessful = false, ResultMessage = "test-error" }); mock.Replies.Push(new ApiReply <Card>() { WasSuccessful = true, Result = card }); CardStatisticsViewModel viewModel = new CardStatisticsViewModel(navigationManagerMock, mock); bool result = await viewModel.InitializeAsync(); Assert.IsFalse(result); Assert.AreEqual(NotificationKind.ErrorNotification, notificationProviderMock.NotificationKind); Assert.AreEqual("test-error", notificationProviderMock.Message); }