Exemplo n.º 1
0
        public void ShouldNotExecuteLoginCommandWhenDriverIsNull()
        {
            var sut = new LoginViewModel(_driverServiceMock, _driverViewModelMapperMock, _messengerServiceMock);

            sut.LoginCommand.Execute(null);
            _messengerServiceMock.DidNotReceive()
            .Send(Arg.Is <NotificationMessage>(m => m.Notification == "GoToDriverMainWindow"));
            _messengerServiceMock.DidNotReceive().Send(Arg.Any <DriverViewModel>());
        }
        public void ShouldNotSendRentalViewModelMessageWithContinueRentalPropertyIfDriverDoesntHaveActiveRental()
        {
            var driverId        = Guid.NewGuid();
            var driverViewModel = new DriverViewModel
            {
                Id = driverId
            };
            var sut = new RentCarViewModel(_carServiceMock, _rentalServiceMock, _carViewModelMapperMock,
                                           _rentalViewModelMapperMock, _messengerServiceMock);

            sut.AssignLoggedInDriver(driverViewModel);
            _messengerServiceMock.DidNotReceive().Send(Arg.Any <RentalViewModelMessage>());
            _messengerServiceMock.DidNotReceive().Send(Arg.Is <NotificationMessage>(message => message.Notification == "Start Car Rental"));
        }
        public void ShouldNotExecuteRegisterCommandWhenDriverIsNotValid()
        {
            var sut = new RegisterDriverViewModel(_driverServiceMock, _driverViewModelMapperMock,
                                                  _messengerServiceMock);

            sut.RegisterDriverCommand.Execute(null);
            _driverViewModelMapperMock.DidNotReceive().Map(Arg.Any <DriverViewModel>());
            _driverServiceMock.DidNotReceive().CreateDriver(Arg.Any <DriverDTO>());
            _messengerServiceMock.DidNotReceive().Send(Arg.Any <NotificationMessage>());
        }
        public void ShouldNotCloseActiveRentalSessionViewIfRentalWasNotStopped()
        {
            var elapsedTimer     = Substitute.For <ITimer>();
            var elapsedCostTimer = Substitute.For <ITimer>();

            _timerFactoryMock.CreateTimer().Returns(elapsedTimer, elapsedCostTimer);
            var sut = new ActiveRentalSessionViewModel(_timerFactoryMock, _rentalServiceMock, _dialogServiceMock,
                                                       _messengerServiceMock);

            sut.CloseActiveRentalSessionViewCommand.Execute(null);
            _messengerServiceMock.DidNotReceive()
            .Send(Arg.Is <NotificationMessage>(message => message.Notification == "Stop Car Rental"));
        }
Exemplo n.º 5
0
        public async Task QueueCsvGenerationMessages_GivenSpecificationSummariesFoundButNoResults_DoesNotCreateNewMessages()
        {
            //Arrange
            IEnumerable <SpecificationSummary> specificationSummaries = new[]
            {
                new SpecificationSummary {
                    Id = "spec-1"
                }
            };

            ISpecificationsRepository specificationsRepository = CreateSpecificationsRepository();

            specificationsRepository
            .GetSpecificationSummaries()
            .Returns(specificationSummaries);

            ICalculationResultsRepository calculationResultsRepository = CreateResultsRepository();

            calculationResultsRepository
            .CheckHasNewResultsForSpecificationIdAndTimePeriod(
                Arg.Is("spec-1"),
                Arg.Any <DateTimeOffset>(),
                Arg.Any <DateTimeOffset>())
            .Returns(false);

            ILogger logger = CreateLogger();

            IMessengerService messengerService = CreateMessengerService();

            ResultsService resultsService = CreateResultsService(
                logger,
                specificationsRepository: specificationsRepository,
                resultsRepository: calculationResultsRepository,
                messengerService: messengerService);

            //Act
            await resultsService.QueueCsvGenerationMessages();

            //Assert
            await
            messengerService
            .DidNotReceive()
            .SendToQueue(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <Dictionary <string, string> >(), Arg.Any <bool>());

            logger
            .DidNotReceive()
            .Information($"Found new calculation results for specification id 'spec-1'");
        }
Exemplo n.º 6
0
        public async Task SaveDefinition_GivenValidYamlAndDoesContainsExistingItemWithNoModelUpdates_ThenDoesNotAddMessageToTopicAndReturnsOK()
        {
            //Arrange
            string yaml         = CreateRawDefinition();
            string definitionId = "9183";

            byte[]       byteArray = Encoding.UTF8.GetBytes(yaml);
            MemoryStream stream    = new MemoryStream(byteArray);

            IHeaderDictionary headerDictionary = new HeaderDictionary();

            headerDictionary
            .Add("yaml-file", new StringValues(yamlFile));

            HttpRequest request = Substitute.For <HttpRequest>();

            request
            .Headers
            .Returns(headerDictionary);

            request
            .Body
            .Returns(stream);

            ILogger logger = CreateLogger();

            HttpStatusCode statusCode = HttpStatusCode.Created;

            DatasetDefinition existingDatasetDefinition = new DatasetDefinition
            {
                Id = definitionId
            };

            IDatasetRepository datasetsRepository = CreateDataSetsRepository();

            datasetsRepository
            .SaveDefinition(Arg.Any <DatasetDefinition>())
            .Returns(statusCode);

            datasetsRepository
            .GetDatasetDefinition(Arg.Is(definitionId))
            .Returns(existingDatasetDefinition);

            byte[] excelAsBytes = new byte[100];

            IExcelWriter <DatasetDefinition> excelWriter = CreateExcelWriter();

            excelWriter
            .Write(Arg.Any <DatasetDefinition>())
            .Returns(excelAsBytes);

            ICloudBlob blob = Substitute.For <ICloudBlob>();

            IBlobClient blobClient = CreateBlobClient();

            blobClient
            .GetBlockBlobReference(Arg.Any <string>())
            .Returns(blob);

            DatasetDefinitionChanges datasetDefinitionChanges = new DatasetDefinitionChanges();

            IDefinitionChangesDetectionService definitionChangesDetectionService = CreateChangesDetectionService();

            definitionChangesDetectionService
            .DetectChanges(Arg.Any <DatasetDefinition>(), Arg.Is(existingDatasetDefinition))
            .Returns(datasetDefinitionChanges);

            IMessengerService messengerService = CreateMessengerService();

            DefinitionsService service = CreateDefinitionsService(
                logger,
                datasetsRepository,
                excelWriter: excelWriter,
                blobClient: blobClient,
                definitionChangesDetectionService: definitionChangesDetectionService,
                messengerService: messengerService);

            //Act
            IActionResult result = await service.SaveDefinition(request);

            //Assert
            result
            .Should()
            .BeOfType <OkResult>();

            await
            messengerService
            .DidNotReceive()
            .SendToTopic(
                Arg.Is(ServiceBusConstants.TopicNames.DataDefinitionChanges),
                Arg.Any <DatasetDefinitionChanges>(),
                Arg.Any <IDictionary <string, string> >());
        }