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")); }
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'"); }
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> >()); }