Пример #1
0
        public async Task Get()
        {
            var rule = new CommissionSplitRule()
            {
                Id        = Guid.NewGuid(),
                Name      = Guid.NewGuid().ToString(),
                UserId    = Guid.NewGuid(),
                IsDefault = true,
                Split     = new List <CommissionSplit>(),
            };

            var service     = new Mock <ICommissionSplitService>();
            var authService = TestHelper.MockAuthenticationService(Scope.Branch);

            service.Setup(c => c.GetCommissionSplitRule(It.IsAny <ScopeOptions>(), It.Is <Guid>(m => m == rule.Id.Value)))
            .ReturnsAsync(rule);

            var controller = new CommissionSplitRulesController(service.Object, authService.Object);

            var result = await controller.Get(rule.Id.Value);

            var okResult    = Assert.IsType <OkObjectResult>(result);
            var returnValue = Assert.IsType <CommissionSplitRule>(okResult.Value);

            Assert.Same(rule, returnValue);
        }
Пример #2
0
        public async Task Delete()
        {
            var ruleId = Guid.NewGuid();

            var service     = new Mock <ICommissionSplitService>();
            var authService = TestHelper.MockAuthenticationService(Scope.Branch);

            var result = new Result()
            {
                Success = true
            };

            ScopeOptions options = null;
            Guid         deleted = Guid.Empty;

            service.Setup(c => c.DeleteCommissionSplitRule(It.IsAny <ScopeOptions>(), It.Is <Guid>(m => m == ruleId)))
            .Callback((ScopeOptions o, Guid d) =>
            {
                deleted = d;
                options = o;
            })
            .ReturnsAsync(result);

            var controller = new CommissionSplitRulesController(service.Object, authService.Object);

            var actual = await controller.Delete(ruleId);

            Assert.Equal(ruleId, deleted);
            Assert.Equal(Scope.Branch, options.Scope);

            var okResult    = Assert.IsType <OkObjectResult>(actual);
            var returnValue = Assert.IsType <Result>(okResult.Value);

            Assert.Same(result, returnValue);
        }
Пример #3
0
        public async Task Index()
        {
            var rule = new CommissionSplitRule()
            {
                Id        = Guid.NewGuid(),
                Name      = Guid.NewGuid().ToString(),
                UserId    = Guid.NewGuid(),
                IsDefault = true,
                Split     = new List <CommissionSplit>(),
            };

            var pagedItems = new PagedItems <CommissionSplitRule>()
            {
                TotalItems = 1,
                Items      = new List <CommissionSplitRule>()
                {
                    rule
                }
            };

            var service     = new Mock <ICommissionSplitService>();
            var authService = TestHelper.MockAuthenticationService(Scope.Branch);

            CommissionSplitRuleQueryOptions queryOptions = null;

            service.Setup(c => c.GetCommissionSplitRules(It.IsAny <CommissionSplitRuleQueryOptions>()))
            .Callback((CommissionSplitRuleQueryOptions options) => queryOptions = options)
            .ReturnsAsync(pagedItems);

            var controller = new CommissionSplitRulesController(service.Object, authService.Object);

            var result = await controller.Index("Name", "desc", 15, 2, $"UserId={rule.UserId}");

            Assert.Equal(Scope.Branch, queryOptions.Scope.Scope);
            Assert.Equal("Name", queryOptions.SortOptions.Column);
            Assert.Equal(SortDirection.Descending, queryOptions.SortOptions.Direction);
            Assert.Equal(15, queryOptions.PageOptions.Size);
            Assert.Equal(2, queryOptions.PageOptions.Number);

            Assert.Equal(rule.UserId, queryOptions.UserId.Single());

            var okResult    = Assert.IsType <OkObjectResult>(result);
            var returnValue = Assert.IsType <PagedItems <CommissionSplitRule> >(okResult.Value);

            Assert.Same(pagedItems, returnValue);
        }
Пример #4
0
        public async Task Update()
        {
            var rule = new CommissionSplitRule()
            {
                Id        = Guid.NewGuid(),
                Name      = Guid.NewGuid().ToString(),
                UserId    = Guid.NewGuid(),
                IsDefault = true,
                Split     = new List <CommissionSplit>(),
            };

            var service     = new Mock <ICommissionSplitService>();
            var authService = TestHelper.MockAuthenticationService(Scope.Branch);

            var result = new Result()
            {
                Success = true
            };

            ScopeOptions        options = null;
            CommissionSplitRule updated = null;

            service.Setup(c => c.UpdateCommissionSplitRule(It.IsAny <ScopeOptions>(), It.IsAny <CommissionSplitRule>()))
            .Callback((ScopeOptions o, CommissionSplitRule i) =>
            {
                updated = i;
                options = o;
            })
            .ReturnsAsync(result);

            var controller = new CommissionSplitRulesController(service.Object, authService.Object);

            var actual = await controller.Update(rule.Id.Value, rule);

            Assert.Same(rule, updated);
            Assert.Equal(Scope.Branch, options.Scope);

            var okResult    = Assert.IsType <OkObjectResult>(actual);
            var returnValue = Assert.IsType <Result>(okResult.Value);

            Assert.Same(result, returnValue);
        }