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 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 GetStatsForBot_ExistingBot_ShouldReturnListOfStats() { var databaseContext = DatabaseFactory.Create(); var timeProvider = TimeProviderFactory.Create(); var statsService = new StatsService(databaseContext, timeProvider); databaseContext.Bots.Add(new BotModel { Id = "1", Name = "Bot1", Stats = new List <StatsModel> { new StatsModel { BotId = "1", CreateTime = timeProvider.Get(), ExecutedCommandsCount = 1001 }, new StatsModel { BotId = "1", CreateTime = timeProvider.Get().AddDays(1), ExecutedCommandsCount = 1002 }, new StatsModel { BotId = "1", CreateTime = timeProvider.Get().AddDays(1), ExecutedCommandsCount = 1003 } } }); databaseContext.SaveChanges(); var result = statsService.GetStatsForBot("1"); Assert.Equal(2, result.Count); Assert.Equal(1001, result[0].ExecutedCommandsCount); Assert.Equal(1003, result[1].ExecutedCommandsCount); }
public void Log_ExistingBot_ShouldReturnTrueAndSaveInDatabase() { var databaseContext = DatabaseFactory.Create(); var timeProvider = TimeProviderFactory.Create(); var statsService = new StatsService(databaseContext, timeProvider); databaseContext.Bots.Add(new BotModel { Id = "1", Name = "Bot1" }); databaseContext.SaveChanges(); var stats = new LogStatsDto { BotId = "1", ExecutedCommandsCount = 2, GuildsCount = 3, MembersCount = 4 }; var result = statsService.Log(stats); var loggedStats = databaseContext.Stats.First(); Assert.True(result); Assert.Equal(1, databaseContext.Stats.Count()); Assert.Equal("1", loggedStats.BotId); Assert.Equal(timeProvider.Get(), loggedStats.CreateTime); Assert.Equal(2, loggedStats.ExecutedCommandsCount); Assert.Equal(3, loggedStats.GuildsCount); Assert.Equal(4, loggedStats.MembersCount); }
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 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 GetStatsForBot_NonExistingBot_ShouldReturnNull() { var databaseContext = DatabaseFactory.Create(); var timeProvider = TimeProviderFactory.Create(); var statsService = new StatsService(databaseContext, timeProvider); var result = statsService.GetStatsForBot("0"); Assert.Null(result); }
public void GetBot_ExistingBotId_ShouldReturnValidBotData() { var botServiceMock = new Mock <IBotsService>(); var timeProvider = TimeProviderFactory.Create(); botServiceMock.Setup(p => p.GetBot("1000")).Returns(new BotDto { Id = "1000", Name = "Bot1", CreateTime = timeProvider.Get() }); var controller = new BotsController(botServiceMock.Object); var jsonResult = controller.GetBot("1000") as JsonResult; Assert.IsAssignableFrom <BotDto>(jsonResult.Value); }
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 void Log_NonExistingBot_ShouldReturnFalse() { var databaseContext = DatabaseFactory.Create(); var timeProvider = TimeProviderFactory.Create(); var statsService = new StatsService(databaseContext, timeProvider); var stats = new LogStatsDto { BotId = "1", ExecutedCommandsCount = 2, GuildsCount = 3, MembersCount = 4 }; var result = statsService.Log(stats); Assert.False(result); Assert.Equal(0, databaseContext.Stats.Count()); }
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); }