public void CreateSurvey_() { //Arrange DBContext context = new DBContext(@"Data Source=(localdb)\ProjectsV13;Initial Catalog=DynamicSurvey;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"); SurveysRepository repository = new SurveysRepository(context); List <Tuple <string, int> > testList = new List <Tuple <string, int> >(); testList.Add(new Tuple <string, int>("UnitTestQuestion", 1)); testList.Add(new Tuple <string, int>("UnitTestQuestion2", 1)); Survey testSurvey = new Survey(new CreateSurveyDto { CreatorId = 1, IsAnonymous = true, Questions = testList, Title = "UnitTestTitle" }); //Act Task <CreateSurveyResponseDto> responseTask = repository.CreateSurveyAsync(testSurvey); CreateSurveyResponseDto response = responseTask.Result; //Assert Assert.AreEqual(testSurvey.Title, response.ResponseMessage.Split(':')[1].Split('.')[0].Substring(1)); Assert.AreEqual(testSurvey.Questions[0].QuestionText, response.ResponseMessage.Split(':')[2].Substring(1)); }
public async Task <CreateSurveyResponseDto> CreateSurveyAsync(Survey survey) { CreateSurveyResponseDto repsonse = new CreateSurveyResponseDto(); using (SqlConnection connection = await _dbContext.OpenConnectionAsync()) { using (SqlCommand command = new SqlCommand(CreateSurveyStatement, connection)) { command.Parameters.AddWithValue("@CreatorID", survey.CreatorId); command.Parameters.AddWithValue("@Title", survey.Title); command.Parameters.AddWithValue("@IsAnonymous", survey.IsAnonymous); command.Parameters.AddWithValue("@Questions", JsonConvert.SerializeObject(survey.Questions)); int rowsAffected = await command.ExecuteNonQueryAsync(); if (rowsAffected == 1) { repsonse.ResponseMessage = $"Survey was successfully created with the following Title: {survey.Title}. The first question of the survey is: {survey.Questions[0].QuestionText}"; } } } return(repsonse); }
public async Task <CreateSurveyResponseDto> CreateSurveyAsync([FromBody] CreateSurveyDto surveyInformation) { Survey tempSurvey = new Survey(surveyInformation); CreateSurveyResponseDto repsonse = await _repository.CreateSurveyAsync(tempSurvey); return(repsonse); }