Esempio n. 1
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }