public ScanViewModel(NavigationManager navigationManager, IQrCodeScanner qrCodeScanner, IQrCodeValidator qrCodeValidator) { _navigationManager = navigationManager; _qrCodeScanner = qrCodeScanner; _qrCodeValidator = qrCodeValidator; _qrCodeScanner.Validation = qrCodeData => _qrCodeValidator.Validate(qrCodeData); _qrCodeScanner.ScanStarted = SetCameraIsOpen; _qrCodeScanner.CameraError = SetCameraNotOpen; _qrCodeScanner.CameraNotFound = SetCameraNotFound; _qrCodeValidator.OnValidQrCode += (s, e) => _navigationManager.NavigateTo("../"); }
public async Task Start_ScannerNotStarted_CallsJsBeginScan() { // Arrange _qrCodeScanner = new QrCodeScanner(_jsRuntime.Object); // Act await _qrCodeScanner.Start(); // Assert _jsRuntime.Verify(callTo => callTo.InvokeAsync <object>( "beginScan", It.Is <object[]>(parameters => parameters.First().GetType() == typeof(DotNetObjectReference <QrCodeScanner>))), Times.Once); }