public void Arrange()
        {
            _expectedGlobalRule = new GlobalRule
            {
                ActiveFrom = DateTime.Now.AddDays(2)
            };

            var fundingRules = new GetFundingRulesApiResponse
            {
                Rules       = new List <ReservationRule>(),
                GlobalRules = new List <GlobalRule>
                {
                    new GlobalRule {
                        ActiveFrom = DateTime.Now.AddDays(-2)
                    },
                    new GlobalRule {
                        ActiveFrom = DateTime.Now.AddDays(4)
                    },
                    _expectedGlobalRule
                }
            };

            _service = new Mock <IFundingRulesService>();
            _service.Setup(s => s.GetFundingRules()).ReturnsAsync(fundingRules);

            _handler = new GetNextUnreadGlobalFundingRuleQueryHandler(_service.Object);
        }
        public async Task Then_No_Employer_Acknowledged_Rules_Are_Returned()
        {
            //Arrange
            var userId = Guid.NewGuid();

            var acknowledgement = new UserRuleAcknowledgement
            {
                TypeOfRule = RuleType.GlobalRule,
                UserId     = userId
            };

            var rule = new GlobalRule
            {
                ActiveFrom = DateTime.Now.AddDays(2),
                UserRuleAcknowledgements = new List <UserRuleAcknowledgement> {
                    acknowledgement
                }
            };

            var fundingRules = new GetFundingRulesApiResponse
            {
                Rules       = new List <ReservationRule>(),
                GlobalRules = new List <GlobalRule> {
                    rule
                }
            };

            _service.Setup(s => s.GetFundingRules()).ReturnsAsync(fundingRules);

            //Act
            var actual = await _handler.Handle(new GetNextUnreadGlobalFundingRuleQuery { Id = userId.ToString() }, new CancellationToken());

            //Assert
            Assert.IsNull(actual.Rule);
        }
示例#3
0
        public void Arrange()
        {
            _expectedFundingRules = new GetFundingRulesApiResponse
            {
                Rules       = new List <ReservationRule>(),
                GlobalRules = new List <GlobalRule>()
            };

            _service = new Mock <IFundingRulesService>();
            _service.Setup(s => s.GetFundingRules()).ReturnsAsync(_expectedFundingRules);

            _handler = new GetFundingRulesQueryHandler(_service.Object);
        }
        public async Task Then_Will_Return_Nearest_Rules_That_Has_Not_Been_Acknowledged_By_User()
        {
            //Arrange
            const int ukPrn = 12345;

            var acknowledgement = new UserRuleAcknowledgement
            {
                TypeOfRule = RuleType.GlobalRule,
                UkPrn      = ukPrn
            };

            var acknowledgeRule = new GlobalRule
            {
                ActiveFrom = DateTime.Now.AddDays(2),
                UserRuleAcknowledgements = new List <UserRuleAcknowledgement> {
                    acknowledgement
                }
            };

            var expectedRule = new GlobalRule
            {
                ActiveFrom = DateTime.Now.AddDays(3),
                UserRuleAcknowledgements = new List <UserRuleAcknowledgement>()
            };

            var futureRule = new GlobalRule
            {
                ActiveFrom = DateTime.Now.AddDays(4),
                UserRuleAcknowledgements = new List <UserRuleAcknowledgement>()
            };

            var fundingRules = new GetFundingRulesApiResponse
            {
                Rules       = new List <ReservationRule>(),
                GlobalRules = new List <GlobalRule> {
                    acknowledgeRule, expectedRule, futureRule
                }
            };

            _service.Setup(s => s.GetFundingRules()).ReturnsAsync(fundingRules);

            //Act
            var actual = await _handler.Handle(new GetNextUnreadGlobalFundingRuleQuery { Id = ukPrn.ToString() }, new CancellationToken());

            //Assert
            Assert.IsNotNull(actual.Rule);
            Assert.AreEqual(expectedRule, actual.Rule);
        }
        public async Task Then_If_No_Active_Rules_Are_Found_Null_Is_Returned()
        {
            //Arrange
            var fundingRules = new GetFundingRulesApiResponse
            {
                Rules       = new List <ReservationRule>(),
                GlobalRules = new List <GlobalRule>()
            };

            _service.Setup(s => s.GetFundingRules()).ReturnsAsync(fundingRules);

            //Act
            var actual = await _handler.Handle(new GetNextUnreadGlobalFundingRuleQuery { Id = UkPrn.ToString() }, new CancellationToken());

            //Assert
            Assert.IsNull(actual.Rule);
        }