protected override Office.IRibbonExtensibility CreateRibbonExtensibilityObject()
        {
            var httpClient               = new DotNetHttpClient();
            var clientFactory            = new MattermostClientFactory(httpClient);
            var passwordDialog           = new PasswordDialogShell();
            var caches                   = new CompositeCache();
            var settingsService          = new ApplicationSettingsService(caches);
            var invalidCertificateDialog = new InvalidCertificateDialogShell();
            var staticValidationManager  = new StaticServicePointManager();
            var sessionRepository        = new SingleSignOnSessionRepository(clientFactory, settingsService, passwordDialog, invalidCertificateDialog, staticValidationManager);

            caches.Add(sessionRepository);
            var explorerService = new OutlookExplorerService();
            var mailExplorer    = new OutlookMailExplorer(explorerService);
            var errorDisplay    = new MessageBoxErrorDisplay();
            var settingsUi      = new WpfSettingsUserInterface(settingsService, settingsService);
            var permalinkUi     = new PermalinkDialogShell();
            var postIdFilter    = new PostIdFromPermalinkFilter(permalinkUi);

            return(new MailItemContextMenuEntry(
                       mailExplorer,
                       settingsService,
                       settingsService,
                       errorDisplay,
                       settingsUi,
                       sessionRepository,
                       postIdFilter));
        }
        public void Get_ExtractsPostIdFromPermalink()
        {
            var baseProvider = new Mock <IStringProvider>();

            baseProvider.Setup(x => x.Get()).Returns("http://localhost/teamid/pl/abcdefghijklmnopqrstuvwxyz");
            var classUnderTest = new PostIdFromPermalinkFilter(baseProvider.Object);

            var result = classUnderTest.Get();

            result.Should().Be("abcdefghijklmnopqrstuvwxyz", "because the filter should extract the permalink id");
        }