public void GetAllBots_ExistingBots_ShouldReturnListOfBots() { var databaseContext = DatabaseFactory.Create(); var timeProvider = TimeProviderFactory.Create(); var botService = new BotsService(databaseContext, timeProvider); databaseContext.Bots.Add(new BotModel { Id = "1000", Name = "Bot1", CreateTime = timeProvider.Get() }); databaseContext.Bots.Add(new BotModel { Id = "1001", Name = "Bot2", CreateTime = timeProvider.Get() }); databaseContext.SaveChanges(); var result = botService.GetAllBots(); Assert.Equal(2, result.Count); Assert.Equal("1000", result[0].Id); Assert.Equal("1001", result[1].Id); }
public void ShouldGetBots() { BotsService service; Bot[] result; IBotModule subModule; subModule = Substitute.For <IBotModule>(); subModule.GetBots().Returns(new Bot[] { new Bot() { BotID = 1 }, new Bot() { BotID = 2 }, new Bot() { BotID = 3 } }); service = new BotsService(NullLogger.Instance, subModule, null, null, null, null, null, null); result = service.GetBots(); Assert.IsNotNull(result); Assert.AreEqual(3, result.Length); Assert.IsTrue(result.All((item) => item != null)); }
public void ShouldGetBuildOrdersAtPosition() { BotsService service; BuildOrder[] result; IBuildOrderModule subModule; subModule = Substitute.For <IBuildOrderModule>(); subModule.GetBuildOrders(Arg.Any <int>(), Arg.Any <int>(), Arg.Any <int>()).Returns(new BuildOrder[] { new BuildOrder() { BuildOrderID = 1 }, new BuildOrder() { BuildOrderID = 2 }, new BuildOrder() { BuildOrderID = 3 } }); service = new BotsService(NullLogger.Instance, null, null, null, null, subModule, null, null); result = service.GetBuildOrdersAtPosition(1, 2, 3); Assert.IsNotNull(result); Assert.AreEqual(3, result.Length); Assert.IsTrue(result.All((item) => item != null)); }
public void RegisterBot_ExistingBot_ShouldReturnDuplicatedIdError() { var databaseContext = DatabaseFactory.Create(); var timeProvider = TimeProviderFactory.Create(); var botService = new BotsService(databaseContext, timeProvider); databaseContext.Bots.Add(new BotModel { Id = "1000", Name = "Some other bot", CreateTime = DateTime.Now }); databaseContext.SaveChanges(); var bot = new RegisterBotDto { Id = "1000", Name = "Bot1" }; var result = botService.RegisterBot(bot); Assert.Equal(RegisterResult.DuplicatedIdError, result); Assert.Equal(1, databaseContext.Bots.Count()); }
public void GetBot_NonExistingBot_ShouldReturnBotData() { var databaseContext = DatabaseFactory.Create(); var timeProvider = TimeProviderFactory.Create(); var botService = new BotsService(databaseContext, timeProvider); var result = botService.GetBot("1000"); Assert.Null(result); }
public void IsBotRegistered_NonExistingBot_ShouldReturnTrue() { var databaseContext = DatabaseFactory.Create(); var timeProvider = TimeProviderFactory.Create(); var botService = new BotsService(databaseContext, timeProvider); var result = botService.IsBotRegistered("1000"); Assert.False(result); }
public async Task <IActionResult> Index() { var userId = HttpContext.Session.GetString("userId"); var botsViewModels = await BotsService.GetBotsViewModels(_configuration, _systemUserRepository, _botsRepository, userId); return(View(new PageViewModel { Bots = botsViewModels })); }
public async Task <IActionResult> NewBot(string name, string token, string message) { var userId = HttpContext.Session.GetString("userId"); var botsViewModels = await BotsService.GetBotsViewModels(_configuration, _systemUserRepository, _botsRepository, userId); return(View(new PageViewModel { Bots = botsViewModels.ToArray() })); }
public void ShouldDeleteBot() { BotsService service; IBotSchedulerModule subModule; int counter = 0; subModule = Substitute.For <IBotSchedulerModule>(); subModule.When((del) => del.DeleteBot(Arg.Any <int>())).Do((del) => { counter++; }); service = new BotsService(NullLogger.Instance, null, null, null, null, null, subModule, null); service.DeleteBot(1); Assert.AreEqual(1, counter); }
public async Task <IActionResult> NewInlineUrlKey(string botId) { var userId = HttpContext.Session.GetString("userId"); var bots = await BotsService.GetBotsViewModels(_configuration, _systemUserRepository, _botsRepository, userId); var bot = await BotsService.GetBotViewModel(botId, _configuration, _botsRepository); return(View(new PageViewModel { CurrentBot = bot, Bots = bots })); }
public void ShouldNotGetBotForWorkerAndLogError() { MemoryLogger logger; BotsService service; IBotModule subModule; subModule = Substitute.For <IBotModule>(); subModule.GetBotForWorker(Arg.Any <int>()).Returns((id) => { throw new PIODataException("UnitTestException", null, 1, "UnitTest", "UnitTest"); }); logger = new MemoryLogger(); service = new BotsService(logger, subModule, null, null, null, null, null, null); Assert.ThrowsException <FaultException>(() => service.GetBotForWorker(1)); Assert.IsNotNull(logger.Logs.FirstOrDefault(item => (item.Level == LogLevels.Error) && (item.ComponentName == service.ModuleName))); }
public void ShouldNotCreateBuildOrderAndLogError() { MemoryLogger logger; BotsService service; IOrderManagerModule subModule; subModule = Substitute.For <IOrderManagerModule>(); subModule.CreateBuildOrder(Arg.Any <int>(), Arg.Any <BuildingTypeIDs>(), Arg.Any <int>(), Arg.Any <int>()).Returns((id) => { throw new PIODataException("UnitTestException", null, 1, "UnitTest", "UnitTest"); }); logger = new MemoryLogger(); service = new BotsService(logger, null, null, null, null, null, null, subModule); Assert.ThrowsException <FaultException>(() => service.CreateBuildOrder(1, BuildingTypeIDs.Forest, 2, 3)); Assert.IsNotNull(logger.Logs.FirstOrDefault(item => (item.Level == LogLevels.Error) && (item.ComponentName == service.ModuleName))); }
public void ShouldNotDeleteBotAndLogError() { MemoryLogger logger; BotsService service; IBotSchedulerModule subModule; subModule = Substitute.For <IBotSchedulerModule>(); subModule.When((del) => del.DeleteBot(Arg.Any <int>())).Do((del) => { throw new PIODataException("UnitTestException", null, 1, "UnitTest", "UnitTest"); }); logger = new MemoryLogger(); service = new BotsService(logger, null, null, null, null, null, subModule, null); Assert.ThrowsException <FaultException>(() => service.DeleteBot(1)); Assert.IsNotNull(logger.Logs.FirstOrDefault(item => (item.Level == LogLevels.Error) && (item.ComponentName == service.ModuleName))); }
public void ShouldGetBotForWorker() { BotsService service; Bot result; IBotModule subModule; subModule = Substitute.For <IBotModule>(); subModule.GetBotForWorker(Arg.Any <int>()).Returns(new Bot() { BotID = 1 }); service = new BotsService(NullLogger.Instance, subModule, null, null, null, null, null, null); result = service.GetBotForWorker(1); Assert.IsNotNull(result); Assert.AreEqual(1, result.BotID); }
public void ShouldGetProduceOrder() { BotsService service; ProduceOrder result; IProduceOrderModule subModule; subModule = Substitute.For <IProduceOrderModule>(); subModule.GetProduceOrder(Arg.Any <int>()).Returns(new ProduceOrder() { ProduceOrderID = 1 }); service = new BotsService(NullLogger.Instance, null, null, subModule, null, null, null, null); result = service.GetProduceOrder(1); Assert.IsNotNull(result); Assert.AreEqual(1, result.ProduceOrderID); }
public void ShouldCreateBuildOrder() { BotsService service; BuildOrder result; IOrderManagerModule subModule; subModule = Substitute.For <IOrderManagerModule>(); subModule.CreateBuildOrder(Arg.Any <int>(), Arg.Any <BuildingTypeIDs>(), Arg.Any <int>(), Arg.Any <int>()).Returns(new BuildOrder() { BuildOrderID = 1 }); service = new BotsService(NullLogger.Instance, null, null, null, null, null, null, subModule); result = service.CreateBuildOrder(1, BuildingTypeIDs.Forest, 2, 3); Assert.IsNotNull(result); Assert.AreEqual(1, result.BuildOrderID); }
public void ShouldCreateHarvestOrder() { BotsService service; HarvestOrder result; IOrderManagerModule subModule; subModule = Substitute.For <IOrderManagerModule>(); subModule.CreateHarvestOrder(Arg.Any <int>(), Arg.Any <int>()).Returns(new HarvestOrder() { HarvestOrderID = 1 }); service = new BotsService(NullLogger.Instance, null, null, null, null, null, null, subModule); result = service.CreateHarvestOrder(1, 2); Assert.IsNotNull(result); Assert.AreEqual(1, result.HarvestOrderID); }
public void IsBotRegistered_ExistingBot_ShouldReturnTrue() { var databaseContext = DatabaseFactory.Create(); var timeProvider = TimeProviderFactory.Create(); var botService = new BotsService(databaseContext, timeProvider); databaseContext.Bots.Add(new BotModel { Id = "1000", Name = "Bot1", CreateTime = DateTime.Now }); databaseContext.SaveChanges(); var result = botService.IsBotRegistered("1000"); Assert.True(result); }
public async Task <IActionResult> Bot(string id) { var userId = HttpContext.Session.GetString("userId"); var botsViewModels = await BotsService.GetBotsViewModels(_configuration, _systemUserRepository, _botsRepository, userId); var botViewModel = await BotsService.GetBotViewModel(id, _configuration, _botsRepository); var textMessages = _textMessageAnswersRepository.GetTextMessageAnswers(id); var inlineKeys = _inlineKeysRepository.GetInlineKeys(id); var inlineUrlKeys = _inlineUrlKeysRepository.GetUrlInlineUrlKeys(id); var interviews = _interviewsRepository.GetInterviews(id); var interviewAnswers = _interviewAnswersRepository.GetInterviewAnswers(id).Select(_ => new InterviewAnswerViewModel { Interview = _interviewsRepository.GetInterview(_.InterviewId), InterviewAnswer = _, User = _usersRepository.GetUser(_.UserId, _.BotId) }); var users = _usersRepository.GetUsers(id).Select(_ => new UserViewModel { Id = _.Id.ToString(), FirstName = _.FirstName, LastName = _.LastName, UserName = _.UserName, TelegramId = _.TelegramId, Networking = JsonConvert.DeserializeObject <UserNetworking>(_.Networking) }); return(View(new PageViewModel { CurrentBot = botViewModel, Bots = botsViewModels, TextMessages = textMessages, InlineKeys = inlineKeys, InlineUrlKeys = inlineUrlKeys, Interviews = interviews, InterviewAnswers = interviewAnswers, Users = users })); }
public void GetBot_ExistingBot_ShouldReturnBotData() { var databaseContext = DatabaseFactory.Create(); var timeProvider = TimeProviderFactory.Create(); var botService = new BotsService(databaseContext, timeProvider); databaseContext.Bots.Add(new BotModel { Id = "1000", Name = "Bot1", CreateTime = timeProvider.Get() }); databaseContext.SaveChanges(); var result = botService.GetBot("1000"); Assert.Equal("1000", result.Id); Assert.Equal("Bot1", result.Name); Assert.Equal(timeProvider.Get(), result.CreateTime); }
public void RegisterBot_NonExistingBot_ShouldReturnSuccessAndSaveInDatabase() { var databaseContext = DatabaseFactory.Create(); var timeProvider = TimeProviderFactory.Create(); var botService = new BotsService(databaseContext, timeProvider); var bot = new RegisterBotDto { Id = "1000", Name = "Bot1" }; var result = botService.RegisterBot(bot); var registeredBot = databaseContext.Bots.First(); Assert.Equal(RegisterResult.Success, result); Assert.Equal(1, databaseContext.Bots.Count()); Assert.Equal("1000", registeredBot.Id); Assert.Equal("Bot1", registeredBot.Name); Assert.Equal(timeProvider.Get(), registeredBot.CreateTime); }
static AutomationAnywhereApi() { UsersService = new UsersService(); AutomationsService = new AutomationsService(); BotsService = new BotsService(); }