public async Task Then_A_Valid_Command_Should_Pass()
        {
            //Arrange
            var command = new BulkCreateAccountReservationsCommand {
                ReservationCount = 2
            };
            var validator = new BulkCreateAccountReservationsCommandValidator();

            //Act
            var result = await validator.ValidateAsync(command);

            //Assert
            Assert.IsTrue(result.IsValid());
        }
        public async Task Then_If_Values_Are_Not_Set_Should_Fail()
        {
            //Arrange
            var command   = new BulkCreateAccountReservationsCommand();
            var validator = new BulkCreateAccountReservationsCommandValidator();

            //Act
            var result = await validator.ValidateAsync(command);

            //Assert
            Assert.IsFalse(result.IsValid());
            Assert.AreEqual(1, result.ValidationDictionary.Count);
            Assert.IsTrue(result.ValidationDictionary.ContainsKey(nameof(command.ReservationCount)));
        }
Exemple #3
0
        public async Task Then_Will_Return_Created_Reservation_Ids(
            List <Guid> createdReservationIds,
            [Frozen] BulkCreateAccountReservationsCommand command,
            [Frozen] Mock <IValidator <BulkCreateAccountReservationsCommand> > validator,
            [Frozen] Mock <IAccountReservationService> mockAccountReservationService,
            BulkCreateAccountReservationsCommandHandler handler)
        {
            //Arrange
            validator.Setup(x => x.ValidateAsync(It.IsAny <BulkCreateAccountReservationsCommand>()))
            .ReturnsAsync(new ValidationResult {
                ValidationDictionary = new Dictionary <string, string>()
            });
            mockAccountReservationService.Setup(s => s.BulkCreateAccountReservation(command.ReservationCount, command.AccountLegalEntityId, It.IsAny <long>(), It.IsAny <string>(), command.TransferSenderAccountId))
            .ReturnsAsync(createdReservationIds);

            //Act
            var result = await handler.Handle(command, CancellationToken.None);

            //Assert
            Assert.AreEqual(createdReservationIds, result.ReservationIds);
        }
Exemple #4
0
        public async Task Then_The_Account_Is_Retrieved_From_The_AccountLegalEntityId_And_Passed_To_The_Service(
            BulkCreateAccountReservationsCommand command,
            AccountLegalEntity accountLegalEntity,
            [Frozen] Mock <IValidator <BulkCreateAccountReservationsCommand> > validator,
            [Frozen] Mock <IAccountLegalEntitiesService> accountLegalEntitiesService,
            [Frozen] Mock <IAccountReservationService> mockAccountReservationService,
            BulkCreateAccountReservationsCommandHandler handler)
        {
            //Arrange
            validator.Setup(x => x.ValidateAsync(It.IsAny <BulkCreateAccountReservationsCommand>()))
            .ReturnsAsync(new ValidationResult {
                ValidationDictionary = new Dictionary <string, string>()
            });
            accountLegalEntitiesService.Setup(x => x.GetAccountLegalEntity(command.AccountLegalEntityId)).ReturnsAsync(accountLegalEntity);

            //Act
            await handler.Handle(command, CancellationToken.None);

            //Assert
            mockAccountReservationService.Verify(x => x.BulkCreateAccountReservation(command.ReservationCount, command.AccountLegalEntityId, accountLegalEntity.AccountId, accountLegalEntity.AccountLegalEntityName, command.TransferSenderAccountId));
        }
Exemple #5
0
        public void Then_Will_Throw_Service_Exceptions(
            [Frozen] BulkCreateAccountReservationsCommand command,
            [Frozen] Mock <IValidator <BulkCreateAccountReservationsCommand> > validator,
            [Frozen] Mock <IAccountReservationService> mockAccountReservationService,
            BulkCreateAccountReservationsCommandHandler handler)
        {
            //Arrange
            validator.Setup(x => x.ValidateAsync(It.IsAny <BulkCreateAccountReservationsCommand>()))
            .ReturnsAsync(new ValidationResult {
                ValidationDictionary = new Dictionary <string, string>()
            });
            var expectedException = new Exception();

            mockAccountReservationService.Setup(s => s.BulkCreateAccountReservation(It.IsAny <uint>(), It.IsAny <long>(), It.IsAny <long>(), It.IsAny <string>(), It.IsAny <long?>()))
            .Throws(expectedException);

            //Act
            var actualException = Assert.ThrowsAsync <Exception>(() => handler.Handle(command, CancellationToken.None));

            //Assert
            Assert.AreEqual(expectedException, actualException);
        }
Exemple #6
0
        public void Then_Throws_An_Exception_If_ValidationFails(
            [Frozen] BulkCreateAccountReservationsCommand command,
            [Frozen] Mock <IValidator <BulkCreateAccountReservationsCommand> > mockValidator,
            [Frozen] Mock <IAccountReservationService> mockAccountReservationService,
            BulkCreateAccountReservationsCommandHandler handler)
        {
            //Arrange
            mockValidator.Setup(x => x.ValidateAsync(It.IsAny <BulkCreateAccountReservationsCommand>())).ReturnsAsync(
                () => new ValidationResult
            {
                ValidationDictionary = new Dictionary <string, string>
                {
                    { "Error", "Test Error" }
                }
            });

            //Act
            Assert.ThrowsAsync <ArgumentException>(() => handler.Handle(command, CancellationToken.None));

            //Assert
            mockAccountReservationService.Verify(s => s.BulkCreateAccountReservation(It.IsAny <uint>(), It.IsAny <long>(), It.IsAny <long>(), It.IsAny <string>(), It.IsAny <long?>()), Times.Never);
        }