public async Task Should_ThrowOnMissingContext() { // Arrange var shortcuts = new[] { new ShortcutsRo { Contexts = new Dictionary <string, ContextRo>(), Shortcuts = new Dictionary <string, ShortcutRo> { { "Reformat code", new ShortcutRo { Context = "vs", } } } } }; var handler = _auto.Resolve <TransformRawShortcutsToDtoRequestHandler>(); var request = new TransformRawShortcutsToDto { Shortcuts = shortcuts }; // Act var result = new Func <Task <ShortcutsDto> >(() => handler.Handle(request, CancellationToken.None)); // Assert result.Should() .ThrowExactly <MissingContextException>() .WithMessage("Missing context(s): 'vs'"); }
public async Task Should_HandleIconOnlyContext() { // Arrange var shortcuts = new[] { new ShortcutsRo { Contexts = new Dictionary <string, ContextRo>() { { "icon", new ContextRo { Icon = "vs.png", } } } } }; var handler = _auto.Resolve <TransformRawShortcutsToDtoRequestHandler>(); var request = new TransformRawShortcutsToDto { Shortcuts = shortcuts }; // Act var result = await handler.Handle(request, CancellationToken.None); // Assert result.Contexts.Should().HaveCount(1); }
public async Task Should_MakeIconPathAbsolute() { // Arrange _auto.Provide <IFileSystem>(new FileSystem()); var mapper = new MapperConfiguration(config => { config.AddProfile <ShortcutsProfile>(); }) .CreateMapper(); _auto.Provide(mapper); var shortcuts = new[] { new ShortcutsRo { Contexts = new Dictionary <string, ContextRo>() { { "vs", new ContextRo { Icon = "vs.png" } }, { "vscode", new ContextRo { Icon = @"c:\another dir\vscode.png" } } }, Path = @"c:\root\folder\vs.yml", Shortcuts = new Dictionary <string, ShortcutRo>() } }; var handler = _auto.Resolve <TransformRawShortcutsToDtoRequestHandler>(); var request = new TransformRawShortcutsToDto { Shortcuts = shortcuts }; // Act var result = await handler.Handle(request, CancellationToken.None); // Assert result.Contexts.Should().HaveCount(2); result.Contexts.Values .Select(c => c.Icon) .Should().ContainInOrder(@"c:\root\folder\vs.png", @"c:\another dir\vscode.png"); }
public async Task Should_Handle_NullContexts() { // Arrange var shortcuts = new[] { MakeGlobal() }; var handler = _auto.Resolve <TransformRawShortcutsToDtoRequestHandler>(); var request = new TransformRawShortcutsToDto { Shortcuts = shortcuts }; // Act var result = await handler.Handle(request, CancellationToken.None); // Assert result.Contexts.Should().BeEmpty(); }
public async Task Should_ThrowOnNull() { // Arrange var shortcuts = new[] { new ShortcutsRo(), new ShortcutsRo(), }; var handler = _auto.Resolve <TransformRawShortcutsToDtoRequestHandler>(); var request = new TransformRawShortcutsToDto { Shortcuts = shortcuts }; // Act var result = new Func <Task <ShortcutsDto> >(() => handler.Handle(request, CancellationToken.None)); // Assert result.Should() .ThrowExactly <ArgumentNullException>(); }
public async Task Should_HandleNoDefinedContextsOrShortcuts() { // Arrange var shortcuts = new[] { new ShortcutsRo() }; var handler = _auto.Resolve <TransformRawShortcutsToDtoRequestHandler>(); var request = new TransformRawShortcutsToDto { Shortcuts = shortcuts }; // Act var result = await handler.Handle(request, CancellationToken.None); // Assert result.Contexts.Should().HaveCount(0); result.Shortcuts.Should().HaveCount(0); }
public async Task Should_AssignDescOfShortcut() { // Arrange var shortcuts = new[] { MakeVs() }; var handler = _auto.Resolve <TransformRawShortcutsToDtoRequestHandler>(); var request = new TransformRawShortcutsToDto { Shortcuts = shortcuts }; // Act var result = await handler.Handle(request, CancellationToken.None); // Assert result.Shortcuts.Should().HaveCount(1); result.Shortcuts.First().Description.Should().Be("Reformat code"); }
public async Task Should_AssignNameOfContext() { // Arrange var shortcuts = new[] { MakeVs() }; var handler = _auto.Resolve <TransformRawShortcutsToDtoRequestHandler>(); var request = new TransformRawShortcutsToDto { Shortcuts = shortcuts }; // Act var result = await handler.Handle(request, CancellationToken.None); // Assert result.Contexts.Should().HaveCount(1); result.Contexts.First().Value.Name.Should().Be("vs"); }
public async Task Should_MergeRoIntoDto() { // Arrange var shortcuts = new[] { MakeVs(), MakeVsCode() }; var handler = _auto.Resolve <TransformRawShortcutsToDtoRequestHandler>(); var request = new TransformRawShortcutsToDto { Shortcuts = shortcuts }; // Act var result = await handler.Handle(request, CancellationToken.None); // Assert result.Contexts.Should().HaveCount(2); result.Shortcuts.Should().HaveCount(2); }
public async Task Should_ThrowOnDuplicatedContext() { // Arrange var shortcuts = new[] { MakeVs(), MakeVs() }; var handler = _auto.Resolve <TransformRawShortcutsToDtoRequestHandler>(); var request = new TransformRawShortcutsToDto { Shortcuts = shortcuts }; // Act var result = new Func <Task <ShortcutsDto> >(() => handler.Handle(request, CancellationToken.None)); // Assert result.Should() .ThrowExactly <DuplicatedContextException>() .WithMessage("Duplicated context(s): 'vs'"); }
public async Task Should_Handle_NullShortcuts() { // Arrange var shortcuts = new[] { new ShortcutsRo { Contexts = new Dictionary <string, ContextRo>(new[] { MakeVsContext(), MakeVscodeContext() }) } }; var handler = _auto.Resolve <TransformRawShortcutsToDtoRequestHandler>(); var request = new TransformRawShortcutsToDto { Shortcuts = shortcuts }; // Act var result = await handler.Handle(request, CancellationToken.None); // Assert result.Shortcuts.Should().BeEmpty(); }