public ItemsSearchControllerTests() { itemsSearchViewModel = new ItemsSearchViewModel(); itemsSearchViewModelBad = null; var sampleItemsSearchRepoMock = new Mock <ISampleItemsSearchRepo>(); var sampleItemsSearchRepoBadRequestMock = new Mock <ISampleItemsSearchRepo>(); sampleItemsSearchRepoMock.Setup(x => x .GetItemCards(It.Is <ItemsSearchParams>(p => p.ItemId == null))) .Returns(new List <ItemCardViewModel>()); sampleItemsSearchRepoMock.Setup(x => x .GetItemCards(It.Is <ItemsSearchParams>(p => p.ItemId == goodItemKey.ToString()))) .Returns(new List <ItemCardViewModel> { ItemCardViewModel.Create(itemKey: goodItemKey) }); sampleItemsSearchRepoMock.Setup(x => x.GetItemsSearchViewModel()).Returns(itemsSearchViewModel); sampleItemsSearchRepoBadRequestMock.Setup(x => x.GetItemsSearchViewModel()).Returns(itemsSearchViewModelBad); var loggerFactory = new Mock <ILoggerFactory>(); var logger = new Mock <ILogger>(); loggerFactory.Setup(lf => lf.CreateLogger(It.IsAny <string>())).Returns(logger.Object); controller = new BrowseItemsController(sampleItemsSearchRepoMock.Object, loggerFactory.Object); controllerBadReq = new BrowseItemsController(sampleItemsSearchRepoBadRequestMock.Object, loggerFactory.Object); }
public SampleItemsSearchRepoTests() { GoodItemKey = 2343; GoodBankKey = 8398; BadItemKey = 9234; BadBankKey = 1123; Claim1 = new Claim("claim1", "1", "ELA Claim 1"); Claim2 = new Claim("claim2", "2", "Math Claim 1"); ItMath = new InteractionType("2", "Math Itype", "", 2); ItEla = new InteractionType("1", "Ela Itype", "", 1); Math = Subject.Create("Math", "Mathematics", "Math", ImmutableArray.Create(Claim2), ImmutableArray.Create(ItMath.Code)); Ela = Subject.Create("ELA", "English", "ELA", ImmutableArray.Create(Claim1), ImmutableArray.Create(ItEla.Code)); var interactionTypes = ImmutableArray.Create(ItEla, ItMath); var subjects = ImmutableArray.Create(Ela, Math); var itemCards = ImmutableArray.Create( ItemCardViewModel.Create(bankKey: GoodBankKey, itemKey: GoodItemKey, grade: GradeLevels.Grade6, subjectCode: Math.Code, interactionTypeCode: ItMath.Code, claimCode: Claim1.Code), ItemCardViewModel.Create(bankKey: GoodBankKey, itemKey: BadItemKey, grade: GradeLevels.High, subjectCode: Math.Code, interactionTypeCode: ItMath.Code, claimCode: Claim2.Code), ItemCardViewModel.Create(bankKey: BadBankKey, itemKey: GoodItemKey, grade: GradeLevels.Grade9, subjectCode: Ela.Code, interactionTypeCode: ItEla.Code, claimCode: Claim1.Code), ItemCardViewModel.Create(bankKey: BadBankKey, itemKey: BadItemKey, grade: GradeLevels.Grade4, subjectCode: Ela.Code, interactionTypeCode: ItEla.Code, claimCode: Claim2.Code), ItemCardViewModel.Create(bankKey: 1, itemKey: 2, grade: GradeLevels.Grade12) ); Context = SampleItemsContext.Create(itemCards: itemCards, subjects: subjects, interactionTypes: interactionTypes); var loggerFactory = new Mock <ILoggerFactory>(); var logger = new Mock <ILogger>(); loggerFactory.Setup(lf => lf.CreateLogger(It.IsAny <string>())).Returns(logger.Object); SampleItemsSearchRepo = new SampleItemsSearchRepo(Context, loggerFactory.Object); }
public void TestComparerNullSubject() { var comparer = new MoreLikeThisComparer(null, "1"); var card1 = ItemCardViewModel.Create(subjectCode: "Math", claimCode: "1"); var card2 = ItemCardViewModel.Create(subjectCode: "Math", claimCode: "2"); var card3 = ItemCardViewModel.Create(subjectCode: "Ela", claimCode: "2"); var cards = new List <ItemCardViewModel>() { card2, card1, card3 }; var ordered = cards.OrderBy(c => c, comparer).ToList(); Assert.NotNull(ordered); Assert.Equal(cards.Count, ordered.Count); }
private ImmutableArray <ItemCardViewModel> MoreItemCards() { var subjectCodes = new string[] { "Math", "ELA", "Science" }; var claimCodes = new string[] { "1", "2", "3" }; var gradeValues = GradeLevelsUtils.singleGrades.ToList(); var moreCards = new List <ItemCardViewModel>(); for (int i = 10; i < 60; i++) { moreCards.Add(ItemCardViewModel.Create( bankKey: 10, itemKey: i, grade: gradeValues[i % gradeValues.Count], subjectCode: subjectCodes[i % subjectCodes.Length], claimCode: claimCodes[((i + 60) / 7) % claimCodes.Length])); } return(moreCards.ToImmutableArray()); }
public static ItemCardViewModel ToItemCardViewModel(this SampleItem sampleItem) { string claimTitle = (string.IsNullOrEmpty(sampleItem.Claim?.ClaimNumber)) ? string.Empty : $"Claim {sampleItem.Claim.ClaimNumber}"; string title = $"{sampleItem.Subject?.ShortLabel} {sampleItem.Grade.ToDisplayString()} {claimTitle}"; var card = ItemCardViewModel.Create( bankKey: sampleItem.BankKey, itemKey: sampleItem.ItemKey, title: title, grade: sampleItem.Grade, gradeLabel: sampleItem.Grade.ToDisplayString(), subjectCode: sampleItem.Subject?.Code, subjectLabel: sampleItem.Subject?.ShortLabel, claimCode: sampleItem.Claim?.Code, claimLabel: sampleItem.Claim?.Label, target: sampleItem.CoreStandards?.TargetIdLabel, interactionTypeCode: sampleItem.InteractionType?.Code, interactionTypeLabel: sampleItem.InteractionType?.Label, isPerformanceItem: sampleItem.IsPerformanceItem, brailleOnlyitem: sampleItem.BrailleOnlyItem); return(card); }
public ItemViewRepoTests() { GoodBankKey = 1; BadBankKey = 3; BadItemKey = 9; GoodItemKey = 4; DuplicateBankKey = 5; DuplicateItemKey = 6; MathCard = ItemCardViewModel.Create(bankKey: GoodBankKey, itemKey: GoodItemKey); ElaCard = ItemCardViewModel.Create(bankKey: BadBankKey, itemKey: BadItemKey); DuplicateCard = ItemCardViewModel.Create(bankKey: DuplicateBankKey, itemKey: DuplicateItemKey); MathDigest = SampleItem.Create(bankKey: GoodBankKey, itemKey: GoodItemKey); ElaDigest = SampleItem.Create(bankKey: BadBankKey, itemKey: BadItemKey); fieldTestUseVar = new FieldTestUse(); fieldTestUseVar.Code = "ELA"; fieldTestUseVar.QuestionNumber = 1; DuplicateDigest = SampleItem.Create(bankKey: GoodBankKey, itemKey: DuplicateItemKey); var duplicateDigest2 = SampleItem.Create(bankKey: GoodBankKey, itemKey: DuplicateItemKey); PerformanceDigest = SampleItem.Create(bankKey: GoodBankKey, itemKey: 209, isPerformanceItem: true, associatedStimulus: 1, fieldTestUse: fieldTestUseVar); PerformanceDigestDuplicate = SampleItem.Create(bankKey: DuplicateBankKey, itemKey: 210, isPerformanceItem: true, associatedStimulus: 1, fieldTestUse: fieldTestUseVar); BrailleItem = SampleItem.Create(bankKey: GoodBankKey, itemKey: 211, isPerformanceItem: true, associatedStimulus: 1, fieldTestUse: fieldTestUseVar, brailleOnlyItem: false, brailleItemCodes: ImmutableArray.Create("123"), braillePassageCodes: ImmutableArray.Create("123")); BrailleItemDuplicate = SampleItem.Create(bankKey: DuplicateBankKey, itemKey: 212, isPerformanceItem: true, associatedStimulus: 1, fieldTestUse: fieldTestUseVar, brailleOnlyItem: false, brailleItemCodes: ImmutableArray.Create("123"), braillePassageCodes: ImmutableArray.Create("123")); BrailleItemReplace = SampleItem.Create(bankKey: DuplicateBankKey, itemKey: 213, isPerformanceItem: true, associatedStimulus: 2, fieldTestUse: fieldTestUseVar, brailleOnlyItem: true, brailleItemCodes: ImmutableArray.Create("123"), braillePassageCodes: ImmutableArray.Create("123"), copiedFromItem: 211); SampleItems = ImmutableArray.Create(MathDigest, ElaDigest, DuplicateDigest, DuplicateDigest, DuplicateDigest, PerformanceDigest, PerformanceDigestDuplicate, BrailleItem, BrailleItemDuplicate, BrailleItemReplace); var itemCards = ImmutableArray.Create(MathCard, ElaCard, DuplicateCard, DuplicateCard, DuplicateCard); Math = new Subject("Math", "", "", new ImmutableArray <Claim>() { }, new ImmutableArray <string>() { }); Ela = new Subject("ELA", "", "", new ImmutableArray <Claim>() { }, new ImmutableArray <string>() { }); NotASubject = new Subject("NotASubject", "", "", new ImmutableArray <Claim>() { }, new ImmutableArray <string>() { }); Claim1 = new Claim("1", "", ""); Claim2 = new Claim("2", "", ""); //generated item cards for more like this tests itemCards = itemCards.AddRange(MoreItemCards()); var settings = new AppSettings() { SettingsConfig = new SettingsConfig() { NumMoreLikeThisItems = 3 } }; Context = SampleItemsContext.Create(sampleItems: SampleItems, itemCards: itemCards, appSettings: settings); var loggerFactory = new Mock <ILoggerFactory>(); var logger = new Mock <ILogger>(); loggerFactory.Setup(lf => lf.CreateLogger(It.IsAny <string>())).Returns(logger.Object); ItemViewRepo = new ItemViewRepo(Context, loggerFactory.Object); }