34 lines
1.4 KiB
C#
34 lines
1.4 KiB
C#
|
|
using FluentAssertions;
|
||
|
|
using Wino.Core.Activation;
|
||
|
|
using Wino.Core.Domain.Enums;
|
||
|
|
using Xunit;
|
||
|
|
|
||
|
|
namespace Wino.Core.Tests;
|
||
|
|
|
||
|
|
public class AppModeActivationResolverTests
|
||
|
|
{
|
||
|
|
[Theory]
|
||
|
|
[InlineData("--wino-mail", WinoApplicationMode.Calendar, WinoApplicationMode.Mail)]
|
||
|
|
[InlineData("--wino-calendar", WinoApplicationMode.Mail, WinoApplicationMode.Calendar)]
|
||
|
|
[InlineData("--mode=mail", WinoApplicationMode.Calendar, WinoApplicationMode.Mail)]
|
||
|
|
[InlineData("--mode=calendar", WinoApplicationMode.Mail, WinoApplicationMode.Calendar)]
|
||
|
|
[InlineData("CalendarApp", WinoApplicationMode.Mail, WinoApplicationMode.Calendar)]
|
||
|
|
[InlineData("App", WinoApplicationMode.Calendar, WinoApplicationMode.Mail)]
|
||
|
|
public void Resolve_PrefersKnownMailCalendarSignals(string source, WinoApplicationMode defaultMode, WinoApplicationMode expectedMode)
|
||
|
|
{
|
||
|
|
var resolvedMode = AppModeActivationResolver.Resolve(source, null, null, defaultMode);
|
||
|
|
|
||
|
|
resolvedMode.Should().Be(expectedMode);
|
||
|
|
}
|
||
|
|
|
||
|
|
[Fact]
|
||
|
|
public void Resolve_ToggleDefaultArgumentFlipsBetweenMailAndCalendar()
|
||
|
|
{
|
||
|
|
AppModeActivationResolver.Resolve("--mode=toggle-default", null, null, WinoApplicationMode.Mail)
|
||
|
|
.Should().Be(WinoApplicationMode.Calendar);
|
||
|
|
|
||
|
|
AppModeActivationResolver.Resolve("--mode=toggle-default", null, null, WinoApplicationMode.Calendar)
|
||
|
|
.Should().Be(WinoApplicationMode.Mail);
|
||
|
|
}
|
||
|
|
}
|