Ejemplo n.º 1
0
        public async Task Handle_WhenPollingStationNotFound_ReturnsFalse()
        {
            using (var context = new VoteMonitorContext(_dbContextOptions))
            {
                var sut = new UpdatePollingStationsHandler(context, _mockLogger.Object);

                var requestNonExistingPollingStation = new UpdatePollingStation
                {
                    Id = 5
                };
                var result = await sut.Handle(requestNonExistingPollingStation, new CancellationToken());

                result.Should().Be(false);
            }
        }
Ejemplo n.º 2
0
        public async Task Handle_WhenPollingStationFound_ReturnsTrue()
        {
            SetupContextWithPollingStation(new PollingStationBuilder().WithId(5).Build());

            using (var context = new VoteMonitorContext(_dbContextOptions))
            {
                var sut = new UpdatePollingStationsHandler(context, _mockLogger.Object);

                var requestExistingPollingStation = new UpdatePollingStation
                {
                    Id = 5
                };
                var result = await sut.Handle(requestExistingPollingStation, new CancellationToken());

                result.Should().Be(true);
            }
        }
Ejemplo n.º 3
0
        public async Task Handle_WhenContextThrowsException_ReturnsNull()
        {
            var mockContext = new Mock <VoteMonitorContext>(_dbContextOptions);

            mockContext.Setup(m => m.PollingStations).Throws(new Exception());

            var sut = new UpdatePollingStationsHandler(mockContext.Object, _mockLogger.Object);

            var requestNonExistingPollingStation = new UpdatePollingStation
            {
                Id = 5
            };

            bool?result = false;
            await Record.ExceptionAsync(async() => result = await sut.Handle(requestNonExistingPollingStation, new CancellationToken()));

            result.Should().BeNull();
        }
Ejemplo n.º 4
0
        public async Task Handle_WhenPollingStationFound_UpdatesNumber()
        {
            var id = 3;

            SetupContextWithPollingStation(new PollingStationBuilder().WithId(id).WithNumber(13).Build());

            using (var context = new VoteMonitorContext(_dbContextOptions))
            {
                var sut = new UpdatePollingStationsHandler(context, _mockLogger.Object);

                var requestExistingPollingStation = new UpdatePollingStation
                {
                    Id     = id,
                    Number = 27
                };
                await sut.Handle(requestExistingPollingStation, new CancellationToken());

                var updatedPollingStation = context.PollingStations.First(p => p.Id == id);
                updatedPollingStation.Number.Should().Be(27);
            }
        }
Ejemplo n.º 5
0
        public async Task Handle_WhenPollingStationFound_UpdatesAdministrativeTerritoryCode()
        {
            var id = 3;

            SetupContextWithPollingStation(new PollingStationBuilder().WithId(id).WithAdministrativeTerritoryCode("BC").Build());

            using (var context = new VoteMonitorContext(_dbContextOptions))
            {
                var sut = new UpdatePollingStationsHandler(context, _mockLogger.Object);

                var requestExistingPollingStation = new UpdatePollingStation
                {
                    Id = id,
                    AdministrativeTerritoryCode = "IS"
                };
                await sut.Handle(requestExistingPollingStation, new CancellationToken());

                var updatedPollingStation = context.PollingStations.First(p => p.Id == id);
                updatedPollingStation.AdministrativeTerritoryCode.Should().Be("IS");
            }
        }
Ejemplo n.º 6
0
        public async Task Handle_WhenContextThrowsException_ErrorIsLogged()
        {
            var mockContext = new Mock <VoteMonitorContext>(_dbContextOptions);

            mockContext.Setup(m => m.PollingStations).Throws(new Exception());

            var sut = new UpdatePollingStationsHandler(mockContext.Object, _mockLogger.Object);

            var requestNonExistingPollingStation = new UpdatePollingStation
            {
                Id = 5
            };

            await Record.ExceptionAsync(async() => await sut.Handle(requestNonExistingPollingStation, new CancellationToken()));

            _mockLogger.Verify(x => x.Log(
                                   LogLevel.Error,
                                   It.IsAny <EventId>(),
                                   It.Is <It.IsAnyType>((v, t) => true),
                                   It.IsAny <Exception>(),
                                   It.Is <Func <It.IsAnyType, Exception, string> >((v, t) => true)), Times.Once);
        }