Пример #1
0
        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'");
        }
Пример #2
0
        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);
        }
Пример #3
0
        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");
        }
Пример #4
0
        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();
        }
Пример #5
0
        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>();
        }
Пример #6
0
        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);
        }
Пример #7
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");
        }
Пример #8
0
        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");
        }
Пример #9
0
        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);
        }
Пример #10
0
        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'");
        }
Пример #11
0
        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();
        }