public async Task ShouldGetTokenIfAutenticateWithQrCodeIsCalledWithoutLoginMade() { MockDiscoveryRequest(); MockDiscoveryAppRequest(); MockLoginRequestWithouEventsUrl(); var nubankClient = new Nubank(_mockRestClient.Object, "login", "password"); var code = Guid.NewGuid().ToString(); MockLiftRequest(code); await nubankClient.AutenticateWithQrCode(code); var expectedPayload = new { qr_code_id = code, type = "login-webapp" }; _mockRestClient.Verify(x => x.PostAsync <Dictionary <string, object> >( "lift_url", It.Is <object>(o => o.GetHashCode() == expectedPayload.GetHashCode()), It.Is <Dictionary <string, string> >(dictionary => IsValidAuthorizationHeader(dictionary)) ), Times.Once()); }
static async Task Main(string[] args) { Console.WriteLine("Nubank Client"); Console.WriteLine("Please, type your login (CPF):"); var login = Console.ReadLine().Trim(); Console.WriteLine("Type your password:"******"You must authenticate with your phone to be able to access your data."); Console.WriteLine("Scan the QRCode below with you Nubank application on the following menu:"); Console.WriteLine("Nu(Seu Nome) > Perfil > Acesso pelo site"); Console.WriteLine(); Console.Write(result.GetQrCodeAsAscii()); Console.WriteLine(); Console.ReadKey(); await nubankClient.AutenticateWithQrCode(result.Code); } var events = await nubankClient.GetEvents(); ConsoleTable .From <Event>(events) .Write(Format.Alternative); Console.ReadKey(); }