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); } }
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); } }
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(); }
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); } }
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"); } }
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); }