public async Task GetActiveMeterReading_returns_active_readings() { var client = new Mock <IXellentAPI>(); var config = new Mock <IConfig>(); var entry = new MeterReadingOrder(); var list = new List <MeterReadingOrder>() { entry }; client.Setup(s => s.getactiveMeterReadings(It.IsAny <ActiveMeterReadingRequest>())). Returns(new MeterReadingOrderResponse() { MeterReadingOrders = list.ToArray() }); var service = new MeterReadingSoapService(client.Object, config.Object); var activeReading = new MeterReadingOrder(); var result = await service.GetActiveMeterReadingsAsync(); Assert.True(result.Item1); Assert.NotNull(result.Item2); }
public async Task NewMeterReading_given_invalid_request_returns_false() { var client = new Mock <IXellentAPI>(); var config = new Mock <IConfig>(); client.Setup(s => s.newMeterReading(It.IsAny <NewMeterReadingRequest>())) .Returns(new newMeterReadingResponse() { ErrorCode = "4", ResponseCode = "invalid", ResponseMessage = "" }); var active = new MeterReadingOrder() { PrevReading = "7000" }; var list = new List <MeterReadingOrder>() { active }; client.Setup(s => s.getactiveMeterReadings(It.IsAny <ActiveMeterReadingRequest>())) .Returns(new MeterReadingOrderResponse() { MeterReadingOrders = list.ToArray() }); var service = new MeterReadingSoapService(client.Object, config.Object); var result = await service.NewMeterReadingAsync("7373"); Assert.False(result.Item1); Assert.Equal("invalid", result.Item2); }
public async Task NewLogin_given_valid_credentials_returns_true_and_securitykey() { var client = new Mock <IXellentAPI>(); var connectService = new Mock <IConnectService>(); var config = new Config { Context = new UserContext() }; var meterService = new MeterReadingSoapService(client.Object, config); client.Setup(s => s.newLogin(It.IsAny <NewLoginRequest>())). Returns(new newLoginResponse { ErrorCode = "", ResponseMessage = "securitykey", ResponseCode = "" }); client.Setup(s => s.getMeterReadings(It.IsAny <MeterReadingsRequest>())).Returns(new MeterReadingsResponse { MeterReadings = new[] { new MeterReading() } }); connectService.Setup(s => s.CanConnect()).ReturnsAsync(true); var service = new LoginSoapService(client.Object, connectService.Object, config, meterService); var result = await service.NewLoginAsync("73", "credentials"); Assert.True(result.Item1); Assert.Equal("securitykey", result.Item2); Assert.NotNull(config.MeterReadings); }
public async Task GetMeterReadings_given_invalid_dates_returns_false() { var client = new Mock <IXellentAPI>(); var config = new Mock <IConfig>(); client.Setup(s => s.getMeterReadings(It.IsAny <MeterReadingsRequest>())).Returns(new MeterReadingsResponse { MeterReadings = new[] { new MeterReading { } } }); var service = new MeterReadingSoapService(client.Object, config.Object); var result = await service.GetMeterReadings(DateTime.Today.AddYears(5), DateTime.Today); Assert.False(result.Item1); Assert.Null(result.Item2); }
public void Model_given_inputs_returns_correct_output() { //Arrange var client = new Mock <IXellentAPI>().Object; var config = new Config(); var service = new MeterReadingSoapService(client, config); var readingConfimrationPageViewModel = new ReadingConfirmationPageViewModel(service, config); var usageInput = "9999"; var accountNum = "1234"; //Act readingConfimrationPageViewModel.UsageInput = usageInput; readingConfimrationPageViewModel.AccountNum = accountNum; //Assert Assert.Equal(usageInput, readingConfimrationPageViewModel.UsageInput); Assert.Equal(accountNum, readingConfimrationPageViewModel.AccountNum); }
public async Task GetActiveMeterReading_given_no_active_readings_returns_false() { var client = new Mock <IXellentAPI>(); var config = new Mock <IConfig>(); var entry = new MeterReadingOrder(); var list = new List <MeterReadingOrder>() { entry }; client.Setup(s => s.getactiveMeterReadings(It.IsAny <ActiveMeterReadingRequest>())) .Throws <Exception>(); var service = new MeterReadingSoapService(client.Object, config.Object); var activeReading = new MeterReadingOrder(); var result = await service.GetActiveMeterReadingsAsync(); Assert.False(result.Item1); Assert.Null(result.Item2); }