Example #1
0
        public async Task GetAllCowsAsync()
        {
            await DataBaseHelper.ClearDatabaseAsync();

            var newFirstCow = new CreateCowCommand
            {
                FarmId = Guid.NewGuid(),
                State  = CowState.Open
            };
            var newSecondCow = new CreateCowCommand
            {
                FarmId = Guid.NewGuid(),
                State  = CowState.Pregnant
            };
            var firstCow  = CowsApi.ApiV1CowsPost(newFirstCow);
            var secondCow = CowsApi.ApiV1CowsPost(newSecondCow);

            var result = CowsApi.ApiV1CowsGet();

            Assert.Equal(2, result.Count);
            Assert.Equal(firstCow.Id, result[0].Id);
            Assert.Equal(firstCow.FarmId, result[0].FarmId);
            Assert.Equal(firstCow.State, result[0].State);
            Assert.Equal(secondCow.Id, result[1].Id);
            Assert.Equal(secondCow.FarmId, result[1].FarmId);
            Assert.Equal(secondCow.State, result[1].State);
        }
Example #2
0
        public async Task GetAllSensorsAsync()
        {
            await DataBaseHelper.ClearDatabaseAsync();

            var newFirstSensor = new CreateSensorCommand
            {
                FarmId = Guid.NewGuid(),
                State  = SensorState.Deployed
            };
            var newSecondSensor = new CreateSensorCommand
            {
                FarmId = Guid.NewGuid(),
                State  = SensorState.Refurbished
            };
            var firstSensor  = SensorsApi.ApiV1SensorsPost(newFirstSensor);
            var secondSensor = SensorsApi.ApiV1SensorsPost(newSecondSensor);

            var result = SensorsApi.ApiV1SensorsGet();

            Assert.Equal(2, result.Count);
            Assert.Equal(firstSensor.Id, result[0].Id);
            Assert.Equal(firstSensor.FarmId, result[0].FarmId);
            Assert.Equal(firstSensor.State, result[0].State);
            Assert.Equal(secondSensor.Id, result[1].Id);
            Assert.Equal(secondSensor.FarmId, result[1].FarmId);
            Assert.Equal(secondSensor.State, result[1].State);
        }
Example #3
0
        public async Task GetCount()
        {
            //Setup
            await DataBaseHelper.ClearDatabaseAsync();

            var farmId = Guid.NewGuid();
            await DataBaseHelper.CowEventStore.CreateAsync(
                new Domain.Models.Cows.Cow {
                FarmId = farmId, State = Domain.Models.Cows.CowState.Open
            },
                DateTimeOffset.Parse("10/22/2020 5:00:00 PM"));

            await DataBaseHelper.CowEventStore.CreateAsync(
                new Domain.Models.Cows.Cow {
                FarmId = farmId, State = Domain.Models.Cows.CowState.Pregnant
            },
                DateTimeOffset.Parse("10/22/2020 5:20:00 PM"));

            await DataBaseHelper.CowEventStore.CreateAsync(
                new Domain.Models.Cows.Cow {
                FarmId = farmId, State = Domain.Models.Cows.CowState.Open
            },
                DateTimeOffset.Parse("10/23/2020 2:00:00 AM"));

            var id = Guid.NewGuid();
            await DataBaseHelper.CowEventStore.CreateAsync(
                new Domain.Models.Cows.Cow {
                FarmId = farmId, State = Domain.Models.Cows.CowState.Open
            },
                DateTimeOffset.Parse("10/23/2020 3:00:00 AM"));

            await DataBaseHelper.CowEventStore.CreateAsync(
                new Domain.Models.Cows.Cow {
                FarmId = farmId, State = Domain.Models.Cows.CowState.Open
            },
                DateTimeOffset.Parse("10/23/2020 3:10:00 AM"));

            await DataBaseHelper.CowEventStore.UpdateAsync(
                new Domain.Models.Cows.Cow {
                Id = id, FarmId = farmId, State = Domain.Models.Cows.CowState.Pregnant
            },
                DateTimeOffset.Parse("10/23/2020 4:00:00 AM"));

            var cowForDelete = new Domain.Models.Cows.Cow {
                FarmId = farmId, State = Domain.Models.Cows.CowState.Open
            };
            await DataBaseHelper.CowEventStore.CreateAsync(
                cowForDelete,
                DateTimeOffset.Parse("10/23/2020 5:30:00 AM"));

            await DataBaseHelper.CowEventStore.DeleteAsync(
                cowForDelete,
                DateTimeOffset.Parse("10/23/2020 5:35:00 AM"));

            //Act
            var count = CowsApi.ApiV1CowsCountGet(farmId, DateTime.Parse("10/23/2020 11:59:59 PM"), CowState.Open);

            Assert.Equal(4, count);
            count = CowsApi.ApiV1CowsCountGet(farmId, DateTime.Parse("10/23/2020 3:05:00 AM"), CowState.Open);
            Assert.Equal(3, count);
            count = CowsApi.ApiV1CowsCountGet(farmId, DateTime.Parse("10/23/2020 2:30:00 AM"), CowState.Open);
            Assert.Equal(2, count);
            count = CowsApi.ApiV1CowsCountGet(farmId, DateTime.Parse("10/23/2020 4:00:00 AM"), CowState.Pregnant);
            Assert.Equal(2, count);
            count = CowsApi.ApiV1CowsCountGet(farmId, DateTime.Parse("10/22/2020 5:20:00 PM"), CowState.Open);
            Assert.Equal(1, count);
            count = CowsApi.ApiV1CowsCountGet(farmId, DateTime.Parse("10/22/2020 7:20:35 PM"), CowState.Pregnant);
            Assert.Equal(1, count);
            count = CowsApi.ApiV1CowsCountGet(farmId, DateTime.Parse("10/22/2020 2:00:00 PM"), CowState.Open);
            Assert.Equal(0, count);
            count = CowsApi.ApiV1CowsCountGet(Guid.NewGuid(), DateTime.Parse("10/22/2020 6:00:00 PM"), CowState.Open);
            Assert.Equal(0, count);
        }