public void InputNewNameTest() { var command = Substitute.For <RenameDropletCommand>(_logger, _tg, _sessionRepo, _digitalOceanClientFactory); command.Execute(_message, SessionState.SelectedDroplet); command.Received().Execute(_message, SessionState.SelectedDroplet); _sessionRepo.Received().Update(Arg.Is <int>(i => i == 100), Arg.Invoke(new Session())); _tg.Received().SendTextMessageAsync(Arg.Is <ChatId>(i => i.Identifier == 101), Arg.Any <string>()); }
public void InputInboundRuleTest() { var command = Substitute.For <AddInboundRuleCommand>(_logger, _tg, _sessionRepo, _digitalOceanClientFactory); command.Execute(_message, SessionState.SelectedFirewall); command.Received().Execute(_message, SessionState.SelectedFirewall); _sessionRepo.Received().Update(Arg.Is <int>(i => i == 100), Arg.Invoke(new Session())); _tg.Received().SendTextMessageAsync(Arg.Is <ChatId>(i => i.Identifier == 101), Arg.Any <string>(), ParseMode.Markdown); }
public void ConfirmMessageTest() { var command = Substitute.For <PowerCycleDropletCommand>(_logger, _tg, _sessionRepo, _digitalOceanClientFactory); command.Execute(_message, SessionState.SelectedDroplet); command.Received().Execute(_message, SessionState.SelectedDroplet); _sessionRepo.Received().Update(Arg.Is <int>(i => i == 100), Arg.Invoke(new Session())); _tg.Received().SendTextMessageAsync(Arg.Is <ChatId>(i => i.Identifier == 101), Arg.Any <string>(), replyMarkup: Arg.Any <ReplyKeyboardMarkup>()); }
public void GetDropletsTest() { var command = Substitute.For <GetDropletsCommand>(_logger, _tg, _sessionRepo, _handlerCallbackRepo, _pageFactory, _digitalOceanClientFactory); command.Execute(_message, SessionState.MainMenu); command.Received().Execute(_message, SessionState.MainMenu); var doApi = _digitalOceanClientFactory.Received().GetInstance(Arg.Is <int>(i => i == 100)); doApi.Droplets.Received().GetAll(); _pageFactory .Received().GetInstance <DropletPage>() .Received().GetPage(Arg.Is <int>(i => i == 100), Arg.Any <int>()); _sessionRepo.Received().Update(Arg.Is <int>(i => i == 100), Arg.Invoke(new Session())); _handlerCallbackRepo.Received().Update(Arg.Is <int>(i => i == 100), Arg.Invoke(new HandlerCallback())); _tg.Received().SendTextMessageAsync(Arg.Is <ChatId>(i => i.Identifier == 101), Arg.Any <string>(), ParseMode.Markdown, replyMarkup: Arg.Any <InlineKeyboardMarkup>()); }
public void GetAccountTest() { var command = Substitute.For <GetAccountCommand>(_logger, _tg, _digitalOceanClientFactory); command.Execute(_message, SessionState.MainMenu); command.Received().Execute(_message, SessionState.MainMenu); var doApi = _digitalOceanClientFactory.Received().GetInstance(Arg.Is <int>(i => i == 100)); doApi.Account.Received().Get(); doApi.BalanceClient.Received().Get(); _tg.Received().SendTextMessageAsync(Arg.Is <ChatId>(i => i.Identifier == 101), Arg.Any <string>(), ParseMode.Markdown); }
public void SendAuthUrlTest() { var command = Substitute.For <StartCommand>(_tg, _userRepo, _sessionRepo, _handlerCallbakRepo, _logger); command.Execute(_message, SessionState.Unknown); command.Received().Execute(_message, SessionState.Unknown); _userRepo.Received().Get(Arg.Is <int>(i => i == 100)); _userRepo.Received().Create(Arg.Any <DoUser>()); _sessionRepo.Received().Create(Arg.Any <Session>()); _handlerCallbakRepo.Received().Create(Arg.Any <HandlerCallback>()); _tg.Received().SendTextMessageAsync(Arg.Is <ChatId>(i => i.Identifier == 101), Arg.Any <string>(), replyMarkup: Arg.Any <InlineKeyboardMarkup>()); }
public void PowerOnDropletTest() { var command = Substitute.For <PowerOnDropletCommand>(_logger, _tg, _sessionRepo, _digitalOceanClientFactory); command.Execute(_message, SessionState.SelectedDroplet); command.Received().Execute(_message, SessionState.SelectedDroplet); var doApi = _digitalOceanClientFactory.Received().GetInstance(Arg.Is <int>(i => i == 100)); _sessionRepo.Received().Get(Arg.Is <int>(i => i == 100)); doApi.DropletActions.Received().PowerOn(Arg.Is <int>(i => i == 1000)); doApi.DropletActions.Received().GetDropletAction(Arg.Is <int>(i => i == 1000), Arg.Is <int>(i => i == 200)); _tg.Received().SendTextMessageAsync(Arg.Is <ChatId>(i => i.Identifier == 101), Arg.Any <string>()); _sessionRepo.Received().Update(Arg.Is <int>(i => i == 100), Arg.Invoke(new Session())); }
public async Task StartCommand(HttpClient client, ITelegramBotClient telegramBotClient) { var chatId = 321; var update = new Update { Message = new Message { MessageId = 123, Chat = new Chat { Id = chatId }, Text = "/start", Date = DateTime.UtcNow } }; var response = await client.PostAsJsonAsync("/api/Telegram/update/211212", update); response.EnsureSuccessStatusCode(); await telegramBotClient.Received() .SendTextMessageAsync(Arg.Is <ChatId>(x => x.Identifier == chatId), "Choose", ParseMode.Markdown, false, false, 0, Arg.Any <IReplyMarkup>()); }
public void Start_Test() { _target.Start(); _telegramBotClient.Received().StartReceiving(); }