public async Task GetCommissionSplitRulePolicy() { var options = TestHelper.GetDbContext("GetCommissionSplitRulePolicy"); var user1 = TestHelper.InsertUserDetailed(options); var client1 = TestHelper.InsertClient(options, user1.Organisation); var user2 = TestHelper.InsertUserDetailed(options); var policy1 = new PolicyEntity { Id = Guid.NewGuid(), CompanyId = Guid.NewGuid(), ClientId = client1.Client.Id, UserId = user1.User.Id, Number = "123465", }; var csr1 = new CommissionSplitRulePolicyEntity { Id = Guid.NewGuid(), PolicyId = policy1.Id, CommissionSplitRuleId = Guid.NewGuid() }; using (var context = new DataContext(options)) { context.Policy.Add(policy1); context.CommissionSplitRulePolicy.Add(csr1); context.SaveChanges(); } using (var context = new DataContext(options)) { var auditService = new AuditServiceMock(); var commissionSplitService = new CommissionSplitService(context, auditService); var service = new CommissionSplitRulePolicyService(context, commissionSplitService, auditService); //When var scope = TestHelper.GetScopeOptions(user1); var actual = await service.GetCommissionSplitRulePolicy(scope, csr1.PolicyId); //Then Assert.Equal(csr1.Id, actual.Id); Assert.Equal(csr1.PolicyId, actual.PolicyId); Assert.Equal(csr1.CommissionSplitRuleId, actual.CommissionSplitRuleId); //Check scope scope = TestHelper.GetScopeOptions(user2); actual = await service.GetCommissionSplitRulePolicy(scope, csr1.PolicyId); Assert.Null(actual.CommissionSplitRuleId); } }
public async Task <IActionResult> Get(Guid policyId) { var scope = AuthenticationService.GetScope(User); var model = await CommissionSplitRulePolicyService.GetCommissionSplitRulePolicy(scope, policyId); if (model == null) { return(NotFound()); } return(Ok(model)); }
public async Task GetCommissionSplitRulePolicy_UseDefault() { var options = TestHelper.GetDbContext("GetCommissionSplitRulePolicy_UseDefault"); var user1 = TestHelper.InsertUserDetailed(options); var client1 = TestHelper.InsertClient(options, user1.Organisation); var policy1 = new PolicyEntity { Id = Guid.NewGuid(), CompanyId = Guid.NewGuid(), ClientId = client1.Client.Id, UserId = user1.User.Id, Number = "123465", }; var csr1 = new CommissionSplitRuleEntity { Id = Guid.NewGuid(), UserId = user1.User.Id, Name = "Com Split Rule 1", IsDefault = true, Split = new List <CommissionSplit>() { new CommissionSplit() { UserId = user1.User.Id, Percentage = 100 } } }; var csr2 = new CommissionSplitRuleEntity { Id = Guid.NewGuid(), UserId = user1.User.Id, Name = "Com Split Rule 2", IsDefault = false, Split = new List <CommissionSplit>() { new CommissionSplit() { UserId = user1.User.Id, Percentage = 100 } } }; using (var context = new DataContext(options)) { context.Policy.Add(policy1); context.CommissionSplitRule.Add(csr2); context.CommissionSplitRule.Add(csr1); context.SaveChanges(); } using (var context = new DataContext(options)) { var auditService = new AuditServiceMock(); var commissionSplitService = new CommissionSplitService(context, auditService); var service = new CommissionSplitRulePolicyService(context, commissionSplitService, auditService); //When var scope = TestHelper.GetScopeOptions(user1); var actual = await service.GetCommissionSplitRulePolicy(scope, policy1.Id); //Then Assert.Null(actual.Id); Assert.Equal(policy1.Id, actual.PolicyId); Assert.Equal(csr1.Id, actual.CommissionSplitRuleId); } }