public async Task DownloadConvertedText_WithAdapterException() { // arrange var vm = new JsonCsvConverterViewModel(_jsRuntime, _errorAdapter); // act await vm.DownloadConvertedText().ConfigureAwait(false); // assert Assert.True(vm.HasError); }
public async Task OpenInputFile_WithNullChangeEventArgs() { // arrange var vm = new JsonCsvConverterViewModel(_jsRuntime, _fileAdapter); InputFileChangeEventArgs args = null; // act await vm.OpenInputFile(args).ConfigureAwait(false); // assert Assert.Null(vm.SourceText); Assert.True(vm.HasError); }
public void Construction() { // arrange // act var vm = new JsonCsvConverterViewModel(_jsRuntime, _fileAdapter); // assert Assert.NotNull(vm); Assert.Null(vm.SourceText); Assert.Null(vm.ConvertedText); Assert.True(vm.IsConvertedTextEmpty); Assert.Null(vm.ErrorMessage); Assert.False(vm.HasError); }
public async Task DownloadConvertedText_WithValidJsonText() { // arrange var vm = new JsonCsvConverterViewModel(_jsRuntime, _fileAdapter) { ConvertedText = @"[ { ""foo"" : ""12"" }, { ""bar"" : ""data"" } ]", ConvertedType = IBrowserFileAdapter.FileType.JSON }; // act await vm.DownloadConvertedText().ConfigureAwait(false); // assert Assert.False(vm.HasError); }
public async Task DownloadConvertedText_WithValidCsvText() { // arrange var vm = new JsonCsvConverterViewModel(_jsRuntime, _fileAdapter) { ConvertedText = "foo, bar\r\ndata, 12\r\nasdf, 33\r\n", ConvertedType = IBrowserFileAdapter.FileType.CSV }; // act await vm.DownloadConvertedText().ConfigureAwait(false); // assert Assert.False(vm.HasError); }
public void DisplayErrorMessage() { // arrange using var ctx = CreateConfiguredContext(); var vm = new JsonCsvConverterViewModel(_jsRuntime, _fileAdapter); ctx.Services.AddSingleton <JsonCsvConverterViewModel>(vm); var cut = ctx.RenderComponent <JsonCsvConverter>(); // act cut.Find("#btn-convert-csv").Click(); // assert cut.MarkupMatches(JsonCsvConverterExpectedResults.ErrorResult); }
public async Task OpenInputFile_WithChangeEventArgsWithMultipleFiles() { // arrange var files = new List <IBrowserFile> { _testFile, _testFile, _testFile }; var args = new InputFileChangeEventArgs(files); var vm = new JsonCsvConverterViewModel(_jsRuntime, _fileAdapter); // act await vm.OpenInputFile(args).ConfigureAwait(false); // assert Assert.Null(vm.SourceText); Assert.True(vm.HasError); }
public void ConvertToJson(string source, string expectedConverted, bool expectedConvertedEmpty, bool expectedError) { // arrange var vm = new JsonCsvConverterViewModel(_jsRuntime, _fileAdapter) { SourceText = source }; // act vm.ConvertToJson(); // assert Assert.Equal(expectedConverted, vm.ConvertedText); Assert.Equal(expectedConvertedEmpty, vm.IsConvertedTextEmpty); Assert.Equal(IBrowserFileAdapter.FileType.JSON, vm.ConvertedType); Assert.Equal(expectedError, vm.HasError); }
public async Task OpenInputFile_WithValidChangeEventArgs() { // arrange var files = new List <IBrowserFile> { _testFile }; var args = new InputFileChangeEventArgs(files); var vm = new JsonCsvConverterViewModel(_jsRuntime, _fileAdapter); // act await vm.OpenInputFile(args).ConfigureAwait(false); // assert Assert.NotEmpty(vm.SourceText); Assert.Equal("File data...", vm.SourceText); Assert.False(vm.HasError); }
public async Task Copy() { // arrange var mockRuntime = new Mock <IJSRuntime>(); var vm = new JsonCsvConverterViewModel(mockRuntime.Object, _fileAdapter) { ConvertedText = "text to copy..." }; // act await vm.Copy().ConfigureAwait(false); // assert mockRuntime.Verify(f => f.InvokeAsync <object>( "clipboardCopy.copyText", new object[] { "text to copy..." })); }
public void ClearAll() { // arrange var vm = new JsonCsvConverterViewModel(_jsRuntime, _fileAdapter) { SourceText = "garbage in", ConvertedText = "garbage out" }; // act vm.ClearAll(); // assert Assert.Null(vm.SourceText); Assert.Null(vm.ConvertedText); Assert.Null(vm.ErrorMessage); Assert.False(vm.HasError); }
public void ToCsvButtonClicked() { // arrange using var ctx = CreateConfiguredContext(); var vm = new JsonCsvConverterViewModel(_jsRuntime, _fileAdapter) { SourceText = "{ \"foo\" : 42, \"bar\" : \"data\" }", }; ctx.Services.AddSingleton <JsonCsvConverterViewModel>(vm); var cut = ctx.RenderComponent <JsonCsvConverter>(); // act cut.Find("#btn-convert-csv").Click(); // assert Assert.Contains("foo, bar", cut.Markup); Assert.Contains("42, data", cut.Markup); }
public void ClearAllButtonClicked() { // arrange using var ctx = CreateConfiguredContext(); var vm = new JsonCsvConverterViewModel(_jsRuntime, _fileAdapter) { SourceText = "Test source text", ConvertedText = "Test resulting converted text" }; ctx.Services.AddSingleton <JsonCsvConverterViewModel>(vm); var cut = ctx.RenderComponent <JsonCsvConverter>(); // act cut.Find("#btn-clear").Click(); // assert cut.MarkupMatches(JsonCsvConverterExpectedResults.DefaultRenderResult); }
public void ToJsonButtonClicked() { // arrange using var ctx = CreateConfiguredContext(); var vm = new JsonCsvConverterViewModel(_jsRuntime, _fileAdapter) { SourceText = "foo, bar\r\n42, data", }; ctx.Services.AddSingleton <JsonCsvConverterViewModel>(vm); var cut = ctx.RenderComponent <JsonCsvConverter>(); // act cut.Find("#btn-convert-json").Click(); // assert Assert.Contains(""foo" : "42"", cut.Markup); Assert.Contains(""bar" : "data"", cut.Markup); }