コード例 #1
0
ファイル: SheetManager.cs プロジェクト: Verm-V/TimeSheets
        public async Task <Guid> Create(SheetCreateRequest request)
        {
            var sheet = SheetAggregate.CreateFromRequest(request);

            await _repo.Add(sheet);

            return(sheet.Id);
        }
コード例 #2
0
        public void SheetAggregate_ShouldBeDeleted()
        {
            //Arrange
            var request = AggregatesRequestBuilder.CreateRandomSheetCreateRequest();
            var sheet   = SheetAggregate.CreateFromRequest(request);

            //Act
            sheet.MarkAsDeleted();

            //Assert
            sheet.IsDeleted.Should().BeTrue();
        }
コード例 #3
0
        public void SheetAggregate_ShouldBeApproved()
        {
            //Arrange
            var request = AggregatesRequestBuilder.CreateRandomSheetCreateRequest();
            var sheet   = SheetAggregate.CreateFromRequest(request);

            //Act
            sheet.ApproveSheet();

            //Assert
            sheet.IsApproved.Should().BeTrue();
            sheet.ApprovedDate.Should().BeCloseTo(DateTime.Now);
        }
コード例 #4
0
        public void SheetAggregate_CreateRandomFromRequest()
        {
            //Arrange
            var request = AggregatesRequestBuilder.CreateRandomSheetCreateRequest();

            //Act
            var sheet = SheetAggregate.CreateFromRequest(request);

            // Assert
            sheet.Amount.Amount.Should().Be(request.Amount);
            sheet.ContractId.Should().Be(request.ContractId);
            sheet.EmployeeId.Should().Be(request.EmployeeId);
            sheet.ServiceId.Should().Be(request.ServiceId);
            sheet.Date.Should().Be(request.Date);
        }
コード例 #5
0
        public void InvoiceAggregate_CalculateSomeSum_AfterIncludeSomeSheets()
        {
            //Arrange
            var invoiceRequest = AggregatesRequestBuilder.CreateRandomInvoiceCreateRequest();
            var invoice        = InvoiceAggregate.CreateFromRequest(invoiceRequest);

            var sheets      = new List <SheetAggregate>();
            var sheetsCount = 3;

            for (int i = 0; i < sheetsCount; i++)
            {
                var sheetRequest = AggregatesRequestBuilder.CreateRandomSheetCreateRequest();
                sheets.Add(SheetAggregate.CreateFromRequest(sheetRequest));
            }

            //Act
            invoice.IncludeSheets(sheets);

            //Assert
            invoice.Sum.Amount.Should().BeGreaterThan(0);
            invoice.Sheets.Count.Should().Be(sheetsCount);
        }