public async Task PilotRegistrationStorageCmdInteractor_RegisterSinglePilotForContestAsync_BadRegistrationParameter() { PilotRegistration pilotRegistration = GenerateValidPilotRegistration(1).First(); pilotRegistration.ContestId = string.Empty; mockPilotRegistrationRepository.Setup(prr => prr.CreateAsync(It.IsAny <PilotRegistration>())).Returns(Task.FromResult(new Result <PilotRegistration>(pilotRegistration))); var prci = new PilotRegistrationStorageCmdInteractor(mockPilotRegistrationRepository.Object, mockLogger.Object); var result = await prci.RegisterSinglePilotForContestAsync(pilotRegistration); // Invalid Contest Id should fail Assert.IsTrue(result.IsFaulted); pilotRegistration.ContestId = null; mockPilotRegistrationRepository.Setup(prr => prr.CreateAsync(It.IsAny <PilotRegistration>())).Returns(Task.FromResult(new Result <PilotRegistration>(pilotRegistration))); prci = new PilotRegistrationStorageCmdInteractor(mockPilotRegistrationRepository.Object, mockLogger.Object); result = await prci.RegisterSinglePilotForContestAsync(pilotRegistration); // Null Contest Id should fail Assert.IsTrue(result.IsFaulted); pilotRegistration.ContestId = "1"; pilotRegistration.AirframesSignedOff = false; mockPilotRegistrationRepository.Setup(prr => prr.CreateAsync(It.IsAny <PilotRegistration>())).Returns(Task.FromResult(new Result <PilotRegistration>(pilotRegistration))); result = await prci.RegisterSinglePilotForContestAsync(pilotRegistration); // It should be ok to register a pilot w/ a failed airframe sign-off Assert.IsFalse(result.IsFaulted); pilotRegistration.AirframesSignedOff = true; pilotRegistration.AirframeRegistrationNumbers = null; mockPilotRegistrationRepository.Setup(prr => prr.CreateAsync(It.IsAny <PilotRegistration>())).Returns(Task.FromResult(new Result <PilotRegistration>(pilotRegistration))); result = await prci.RegisterSinglePilotForContestAsync(pilotRegistration); // It should be ok to not have any airframes registered Assert.IsFalse(result.IsFaulted); pilotRegistration.AirframeRegistrationNumbers = new List <string> { "1", "2" }; pilotRegistration.IsPaid = false; mockPilotRegistrationRepository.Setup(prr => prr.CreateAsync(It.IsAny <PilotRegistration>())).Returns(Task.FromResult(new Result <PilotRegistration>(pilotRegistration))); result = await prci.RegisterSinglePilotForContestAsync(pilotRegistration); // It should be ok to have a pilot register that is not paid Assert.IsFalse(result.IsFaulted); pilotRegistration.PilotId = string.Empty; mockPilotRegistrationRepository.Setup(prr => prr.CreateAsync(It.IsAny <PilotRegistration>())).Returns(Task.FromResult(new Result <PilotRegistration>(pilotRegistration))); result = await prci.RegisterSinglePilotForContestAsync(pilotRegistration); // Empty Pilot ID should fail. Assert.IsTrue(result.IsFaulted); pilotRegistration.PilotId = null; mockPilotRegistrationRepository.Setup(prr => prr.CreateAsync(It.IsAny <PilotRegistration>())).Returns(Task.FromResult(new Result <PilotRegistration>(pilotRegistration))); result = await prci.RegisterSinglePilotForContestAsync(pilotRegistration); // Null Pilot ID should fail. Assert.IsTrue(result.IsFaulted); }
public async Task PilotRegistrationStorageCmdInteractor_RegisterSinglePilotForContestAsync_NullParameter() { var prci = new PilotRegistrationStorageCmdInteractor(mockPilotRegistrationRepository.Object, mockLogger.Object); var result = await prci.RegisterSinglePilotForContestAsync(null); Assert.IsTrue(result.IsFaulted); }
public async Task PilotRegistrationStorageCmdInteractor_RegisterSinglePilotForContestAsync_RepositoryException() { PilotRegistration pilotRegistration = GenerateValidPilotRegistration(1).First(); mockPilotRegistrationRepository.Setup(prr => prr.CreateAsync(It.IsAny <PilotRegistration>())).ThrowsAsync(new Exception()); var prci = new PilotRegistrationStorageCmdInteractor(mockPilotRegistrationRepository.Object, mockLogger.Object); var result = await prci.RegisterSinglePilotForContestAsync(pilotRegistration); Assert.IsTrue(result.IsFaulted); }
public async Task PilotRegistrationStorageCmdInteractor_RegisterSinglePilotForContestAsync_HappyPath() { var pilotRegistration = GenerateValidPilotRegistration(1).First(); mockPilotRegistrationRepository.Setup(prr => prr.CreateAsync(It.IsAny <PilotRegistration>())) .Returns(Task.FromResult(new Result <PilotRegistration>(pilotRegistration))); var prci = new PilotRegistrationStorageCmdInteractor(mockPilotRegistrationRepository.Object, mockLogger.Object); var result = await prci.RegisterSinglePilotForContestAsync(pilotRegistration); Assert.IsFalse(result.IsFaulted); Assert.IsNull(result.Error); }