public void It_should_handle_OnOff_false() { // Arrange CommandFeatureBitDefintion def = null; var sb = new StringBuilder(); SystemContext.ConsoleWriteLine = s => sb.Append(s); var bit = new CommandFeatureBitDefintion { Name = "foo", OnOff = false }; var opts = new AddOptions { Name = "foo", OnOff = "false" }; var repo = Substitute.For <IFeatureBitsRepo>(); repo.AddAsync(Arg.Any <CommandFeatureBitDefintion>()).Returns(Task.FromResult((IFeatureBitDefinition)bit)).AndDoes(x => { def = x.Arg <CommandFeatureBitDefintion>(); }); var it = new AddCommand(opts, repo); // Act var result = it.RunAsync().Result; // Assert result.Should().Be(0); sb.ToString().Should().Be("Feature bit added."); def.Should().NotBeNull(); def.OnOff.Should().BeFalse(); }
public void It_should_run_and_create_a_FeatureBit_when_the_onOff_bit_is_false() { // Arrange var sb = new StringBuilder(); SystemContext.ConsoleWriteLine = s => sb.Append(s); var bit = new CommandFeatureBitDefintion { Name = "foo" }; var opts = new AddOptions { Name = "foo" }; var repo = Substitute.For <IFeatureBitsRepo>(); repo.AddAsync(bit).Returns(Task.FromResult((IFeatureBitDefinition)bit)); var it = new AddCommand(opts, repo); // Act var result = it.RunAsync().Result; // Assert result.Should().Be(0); sb.ToString().Should().Be("Feature bit added."); }
public void It_should_run_and_list_long_FeatureBitDefinition() { // Arrange var sb = new StringBuilder(); SystemContext.ConsoleWriteLine = s => sb.AppendLine(s); var bit1 = new CommandFeatureBitDefintion { Id = 1, Name = "foo1", OnOff = true, ExcludedEnvironments = "prod1", MinimumAllowedPermissionLevel = 10, ExactAllowedPermissionLevel = 30, AllowedUsers = "me1", IncludedEnvironments = "Dev1,Dev3" }; var bit2 = new CommandFeatureBitDefintion { Id = 2, Name = "foo2", OnOff = false, ExcludedEnvironments = "prod2", MinimumAllowedPermissionLevel = 20, ExactAllowedPermissionLevel = 40, AllowedUsers = "me2", IncludedEnvironments = "Dev1,Dev3" }; var opts = new ListOptions { Long = true }; var repo = Substitute.For <IFeatureBitsRepo>(); var consoleTable = Substitute.For <IConsoleTable>(); var fbits = new List <IFeatureBitDefinition> { bit1, bit2 }; repo.GetAllAsync().Returns(Task.FromResult((IEnumerable <IFeatureBitDefinition>)fbits)); var it = new ListCommand(opts, repo, consoleTable); // Act var result = it.RunAsync().Result; // Assert result.Should().Be(0); consoleTable.Received().Print(Arg.Is <DataTable>(dt => dt.Rows.Count == 2 && dt.Columns.Count == 8 && dt.Columns[0].Caption == "Id" && dt.Columns[1].Caption == "Name" && dt.Columns[2].Caption == "OnOff" && dt.Columns[3].Caption == "ExcludedEnvironments" && dt.Columns[4].Caption == "MinimumAllowedPermissionLevel" && dt.Columns[5].Caption == "ExactAllowedPermissionLevel" && dt.Columns[6].Caption == "AllowedUsers" && dt.Columns[7].Caption == "IncludedEnvironments")); }
public void It_should_run_and_list_short_FeatureBitDefinition() { // Arrange var sb = new StringBuilder(); SystemContext.ConsoleWriteLine = s => sb.AppendLine(s); var bit1 = new CommandFeatureBitDefintion { Id = 1, Name = "foo1" }; var bit2 = new CommandFeatureBitDefintion { Id = 1, Name = "foo2" }; var opts = new ListOptions { }; var repo = Substitute.For <IFeatureBitsRepo>(); var consoleTable = Substitute.For <IConsoleTable>(); var fbits = new List <IFeatureBitDefinition>(); fbits.Add(bit1); fbits.Add(bit2); repo.GetAllAsync().Returns(Task.FromResult((IEnumerable <IFeatureBitDefinition>)fbits)); var it = new ListCommand(opts, repo, consoleTable); // Act var result = it.RunAsync().Result; // Assert result.Should().Be(0); consoleTable.Received().Print(Arg.Is <DataTable>(dt => dt.Rows.Count == 2 && dt.Columns.Count == 2 && dt.Columns[0].Caption == "Id" && dt.Columns[1].Caption == "Name")); }