public void Provide_ZeroDPRecords() { var testLearners = new MessageLearner[] { new MessageLearner { LearnRefNumber = "Learner1" }, new MessageLearner { LearnRefNumber = "Learner2" }, }; IMessage message = new Message { Header = new MessageHeader(), Learner = testLearners, LearningProvider = new MessageLearningProvider { UKPRN = 12345678 }, }; var learnerPerActorProviderService = new LearnerPerActorProviderService(); var lpa = learnerPerActorProviderService.Provide(message); lpa.Select(m => m).Should().HaveCount(1); lpa.SelectMany(m => m.Learners).Should().HaveCount(2); lpa.SelectMany(m => m.LearnerDestinationAndProgressions).Should().HaveCount(0); }
public async Task ProvideAsync_LearnerDPMismatch() { var testLearners = new MessageLearner[] { new MessageLearner { LearnRefNumber = "Learner1" }, new MessageLearner { LearnRefNumber = "Learner2" }, }; var testLearnerDP = new MessageLearnerDestinationandProgression[] { new MessageLearnerDestinationandProgression { LearnRefNumber = "Learner1" }, new MessageLearnerDestinationandProgression { LearnRefNumber = "Learner3" }, }; IMessage message = new Message { Header = new MessageHeader(), Learner = testLearners, LearnerDestinationandProgression = testLearnerDP, LearningProvider = new MessageLearningProvider { UKPRN = 12345678 }, }; var messages = new List <IMessage> { message }; var messageCacheMock = new Mock <ICache <IMessage> >(); messageCacheMock.SetupGet(mc => mc.Item).Returns(message); var learnerPerActorProviderService = new LearnerPerActorProviderService(messageCacheMock.Object); var lpa = await learnerPerActorProviderService.ProvideAsync(); lpa.Select(m => m).Should().HaveCount(1); lpa.SelectMany(m => m.Learners).Should().HaveCount(2); lpa.SelectMany(m => m.LearnerDestinationAndProgressions).Should().HaveCount(1); }
public async Task ProvideAsync() { var testLearners = new MessageLearner[] { new MessageLearner { LearnRefNumber = "Learner1" }, new MessageLearner { LearnRefNumber = "Learner2" }, }; var testLearnerDP = new MessageLearnerDestinationandProgression[] { new MessageLearnerDestinationandProgression { LearnRefNumber = "Learner1" }, new MessageLearnerDestinationandProgression { LearnRefNumber = "Learner2" }, }; IMessage message = new Message { Header = new MessageHeader(), Learner = testLearners, LearnerDestinationandProgression = testLearnerDP, LearningProvider = new MessageLearningProvider { UKPRN = 12345678 }, }; var messages = new List <IMessage> { message }; var messageCacheMock = new Mock <ICache <IMessage> >(); messageCacheMock.SetupGet(mc => mc.Item).Returns(message); var learnerPerActorProviderService = new LearnerPerActorProviderService(messageCacheMock.Object); (await learnerPerActorProviderService.ProvideAsync()).Should().BeEquivalentTo(messages); }
public void Provide() { var testLearners = new MessageLearner[] { new MessageLearner { LearnRefNumber = "Learner1" }, new MessageLearner { LearnRefNumber = "Learner2" }, }; var testLearnerDP = new MessageLearnerDestinationandProgression[] { new MessageLearnerDestinationandProgression { LearnRefNumber = "Learner1" }, new MessageLearnerDestinationandProgression { LearnRefNumber = "Learner2" }, }; IMessage message = new Message { Header = new MessageHeader(), Learner = testLearners, LearnerDestinationandProgression = testLearnerDP, LearningProvider = new MessageLearningProvider { UKPRN = 12345678 }, }; var messages = new List <IMessage> { message }; var learnerPerActorProviderService = new LearnerPerActorProviderService(); learnerPerActorProviderService.Provide(message).Should().BeEquivalentTo(messages); }
public void Provide_MultipleShards() { var testLearners = new List <MessageLearner>(); for (var i = 0; i < 1001; i++) { testLearners.Add(new MessageLearner()); } ; var testLearnerDP = new MessageLearnerDestinationandProgression[] { new MessageLearnerDestinationandProgression { LearnRefNumber = "Learner1" }, new MessageLearnerDestinationandProgression { LearnRefNumber = "Learner2" }, }; IMessage message = new Message { Header = new MessageHeader(), Learner = testLearners.ToArray(), LearnerDestinationandProgression = testLearnerDP, LearningProvider = new MessageLearningProvider { UKPRN = 12345678 }, }; var messageCacheMock = new Mock <ICache <IMessage> >(); messageCacheMock.SetupGet(mc => mc.Item).Returns(message); var lpa = new LearnerPerActorProviderService().Provide(message).ToArray(); lpa.Select(m => m).Should().HaveCount(2); lpa[0].Learners.Should().HaveCount(1000); lpa[1].Learners.Should().HaveCount(1); }