public async Task CreateDifficulties() { // Arrange var testDifficulty = context.Difficulties.FirstOrDefault(d => d.DifficultyLevel == DifficultyLevel.TEST); context.Difficulties.Remove(testDifficulty); context.SaveChanges(); // Act var result = await sut.Add(newDifficutly); // Assert Assert.That(result.Success, Is.True); Assert.That((Difficulty)result.Object, Is.InstanceOf <Difficulty>()); }
public async Task <IDifficultyResult> CreateDifficulty( string name, string displayName, DifficultyLevel difficultyLevel) { if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException(nameof(name)); } if (string.IsNullOrEmpty(displayName)) { throw new ArgumentNullException(nameof(displayName)); } var result = new DifficultyResult(); try { if (!(await difficultiesRepository.HasDifficultyLevel(difficultyLevel))) { var difficulty = new Difficulty() { Name = name, DisplayName = displayName, DifficultyLevel = difficultyLevel }; var response = await difficultiesRepository.Add(difficulty); if (response.Success) { result.Success = response.Success; result.Message = DifficultiesMessages.DifficultyCreatedMessage; result.Difficulty = (IDifficulty)response.Object; return(result); } else if (!response.Success && response.Exception != null) { result.Success = response.Success; result.Message = response.Exception.Message; return(result); } else { result.Success = false; result.Message = DifficultiesMessages.DifficultyNotCreatedMessage; return(result); } } else { result.Success = false; result.Message = DifficultiesMessages.DifficultyAlreadyExistsMessage; return(result); } } catch (Exception exp) { result.Success = false; result.Message = exp.Message; return(result); } }