public async Task BotLogic_GetBotScript_Should_Return_Correct_Script() { // Arrange var randomHelper = new Mock <IRandomHelper>(); var botRepository = new Mock <IRepository <Bot> >(); var scriptRepository = new Mock <IRepository <BotScript> >(); var playerRepository = new Mock <IRepository <Player> >(); var botMapper = new BotMapper(); var botToCreateMapper = new BotToCreateMapper(); var arenaLogic = new Mock <IArenaLogic>(); var configurationHelper = new Mock <IConfigurationHelper>(); IBotLogic botLogic = new BotLogic( randomHelper.Object, botRepository.Object, scriptRepository.Object, playerRepository.Object, botMapper, botToCreateMapper, arenaLogic.Object, configurationHelper.Object); var botId = Guid.NewGuid(); var script = "BotScript!"; var botScripts = new List <BotScript> { new BotScript { Id = botId, Script = script } }; // Mock scriptRepository.Setup(x => x.Single(Any.Predicate <BotScript>())) .ReturnsAsync((Expression <Func <BotScript, bool> > predicate) => botScripts.SingleOrDefault(predicate.Compile())); // Act var result = await botLogic.GetBotScript(botId); // Assert result.Should().Be(script); }