public async Task Get() { var statement = new CommissionStatementEdit() { Id = Guid.NewGuid(), AmountIncludingVAT = 350000, VAT = 25000, CompanyId = Guid.NewGuid(), Date = DateTime.Now, Processed = true }; var service = new Mock <ICommissionStatementService>(); var authService = TestHelper.MockAuthenticationService(Scope.Branch); service.Setup(c => c.GetCommissionStatement(It.IsAny <ScopeOptions>(), It.Is <Guid>(m => m == statement.Id.Value))) .ReturnsAsync(statement); var controller = new CommissionStatementsController(service.Object, authService.Object, null); var result = await controller.Get(statement.Id.Value); var okResult = Assert.IsType <OkObjectResult>(result); var returnValue = Assert.IsType <CommissionStatementEdit>(okResult.Value); Assert.Same(statement, returnValue); }
public async Task Index() { var statement = new CommissionStatement() { Id = Guid.NewGuid(), AmountIncludingVAT = 350000, VAT = 25000, ActualAmountIncludingVAT = 300000, ActualVAT = 20000, CommissionCount = 1000, CompanyId = Guid.NewGuid(), CompanyName = "Comp 1", Date = DateTime.Now, MappingErrorCount = 100, Processed = true }; var pagedItems = new PagedCommissionStatements() { TotalItems = 1, SumAmountIncludingVAT = 300, SumVAT = 400, Items = new List <CommissionStatement>() { statement } }; var service = new Mock <ICommissionStatementService>(); var authService = TestHelper.MockAuthenticationService(Scope.Branch); CommissionStatementQueryOptions queryOptions = null; service.Setup(c => c.GetCommissionStatements(It.IsAny <CommissionStatementQueryOptions>())) .Callback((CommissionStatementQueryOptions options) => queryOptions = options) .ReturnsAsync(pagedItems); var controller = new CommissionStatementsController(service.Object, authService.Object, null); var result = await controller.Index("date", "desc", 15, 2, $"commissionStatementId={statement.Id}"); Assert.Equal(Scope.Branch, queryOptions.Scope.Scope); Assert.Equal("date", queryOptions.SortOptions.Column); Assert.Equal(SortDirection.Descending, queryOptions.SortOptions.Direction); Assert.Equal(15, queryOptions.PageOptions.Size); Assert.Equal(2, queryOptions.PageOptions.Number); Assert.Equal(statement.Id, queryOptions.CommissionStatementId); var okResult = Assert.IsType <OkObjectResult>(result); var returnValue = Assert.IsType <PagedCommissionStatements>(okResult.Value); Assert.Same(pagedItems, returnValue); }
public async Task GetNotFound() { var service = new Mock <ICommissionStatementService>(); var authService = TestHelper.MockAuthenticationService(Scope.Branch); service.Setup(c => c.GetCommissionStatement(It.IsAny <ScopeOptions>(), It.IsAny <Guid>())) .ReturnsAsync((CommissionStatementEdit)null); var controller = new CommissionStatementsController(service.Object, authService.Object, null); var result = await controller.Get(Guid.NewGuid()); var notFoundResult = Assert.IsType <NotFoundResult>(result); }
public async Task Update() { var statement = new CommissionStatementEdit() { Id = Guid.NewGuid(), AmountIncludingVAT = 350000, VAT = 25000, CompanyId = Guid.NewGuid(), Date = DateTime.Now, Processed = true }; var service = new Mock <ICommissionStatementService>(); var authService = TestHelper.MockAuthenticationService(Scope.Branch); var result = new Result() { Success = true }; ScopeOptions options = null; CommissionStatementEdit updated = null; service.Setup(c => c.UpdateCommissionStatement(It.IsAny <ScopeOptions>(), It.IsAny <CommissionStatementEdit>())) .Callback((ScopeOptions o, CommissionStatementEdit u) => { updated = u; options = o; }) .ReturnsAsync(result); var controller = new CommissionStatementsController(service.Object, authService.Object, null); var actual = await controller.Update(statement.Id.Value, statement); Assert.Same(statement, updated); Assert.Equal(Scope.Branch, options.Scope); var okResult = Assert.IsType <OkObjectResult>(actual); var returnValue = Assert.IsType <Result>(okResult.Value); Assert.Same(result, returnValue); }
public async Task Delete() { var commissionStatementId = Guid.NewGuid(); var service = new Mock <ICommissionStatementService>(); var fileStorageService = new Mock <IFileStorageService>(); var authService = TestHelper.MockAuthenticationService(Scope.Branch); var result = new Result() { Success = true }; ScopeOptions options = null; Guid deleted = Guid.Empty; service.Setup(c => c.DeleteCommissions(It.IsAny <ScopeOptions>(), It.Is <Guid>(m => m == commissionStatementId))) .Callback((ScopeOptions o, Guid d) => { deleted = d; options = o; }) .Returns(Task.CompletedTask); var controller = new CommissionStatementsController(service.Object, authService.Object, fileStorageService.Object); var actual = await controller.DeleteCommissions(commissionStatementId); Assert.Equal(commissionStatementId, deleted); Assert.Equal(Scope.Branch, options.Scope); var okResult = Assert.IsType <OkObjectResult>(actual); var returnValue = Assert.IsType <Result>(okResult.Value); Assert.NotStrictEqual(result, returnValue); }