private string DetermineIcon(BitPersonaPresenceStatus presence, bool isOutofOffice) { string oofIcon = "presence_oof"; return(presence switch { BitPersonaPresenceStatus.Online => "presence_available", BitPersonaPresenceStatus.Busy => "presence_busy", BitPersonaPresenceStatus.Away => isOutofOffice ? oofIcon : "presence_away", BitPersonaPresenceStatus.DND => "presence_dnd", BitPersonaPresenceStatus.Offline => isOutofOffice ? oofIcon : "presence_offline", _ => "presence_unknown", });
public void BitPersonaPresenceStatusClassNameTest(BitPersonaPresenceStatus presenceStatus, bool isOutOfOffice) { var component = RenderComponent <BitPersonaTest>( parameters => { parameters.Add(p => p.Presence, presenceStatus); parameters.Add(p => p.IsOutOfOffice, isOutOfOffice); }); var presenceStatusClassName = DetermineIcon(presenceStatus, isOutOfOffice); var personaStatus = component.Find(".bit-prs-presence > i"); Assert.AreEqual($"bit-prs-icon bit-icon--{presenceStatusClassName}", personaStatus.GetAttribute("class")); }
public void BitPersonaPresenceTitleTest(string presenceTitle, BitPersonaPresenceStatus presenceStatus) { var component = RenderComponent <BitPersonaTest>( parameters => { parameters.Add(p => p.PresenceTitle, presenceTitle); parameters.Add(p => p.Presence, presenceStatus); }); var precenseTitleClassName = component.Find(".bit-prs-presence"); var title = precenseTitleClassName.GetAttribute("title"); Assert.AreEqual(presenceTitle, title); }