Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 6
0
        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);
        }