public async Task AddCandidate_ShouldAddOneCandidate() { var options = new DbContextOptionsBuilder <GeekHunterContext>() .UseInMemoryDatabase("AddCandidate_ShouldAddOneCandidate") .Options; var context = new GeekHunterContext(options); await Seed(context); CandidateRepository candidateRepository = new CandidateRepository(context); await candidateRepository.AddCandidate(new AddCandidateDto { FirstName = "TestFirstName", LastName = "TestLastName", Skills = new List <string> { "SQL", "Entity Framework" } }); var candidates = (await candidateRepository.GetCandidates()).ToList(); Assert.Equal(4, candidates.Count); var addedCustomer = candidates[3]; Assert.Equal("TestFirstName", addedCustomer.FirstName); Assert.Equal("TestLastName", addedCustomer.LastName); Assert.Equal(2, addedCustomer.Skills.Count); }
private CandidateController CandidateController(GeekHunterContext context) { Seed(context); var candidateRepository = new CandidateRepository(context); var candidateService = new CandidateService(candidateRepository); var controller = new CandidateController(candidateService); return(controller); }
protected void Seed(GeekHunterContext context) { DateTime now = DateTime.Now; var skills = new List <Skill> { new Skill { Name = "SQL" }, new Skill { Name = "Entity Framework" }, new Skill { Name = "ReactJS" } }; context.Skills.AddRange(skills); var candidates = new List <Candidate> { new Candidate { FirstName = "Donald", LastName = "Trump", Skills = new List <Skill> { new Skill { Name = "SQL" }, new Skill { Name = "ReactJS" } } }, new Candidate { FirstName = "Barak", LastName = "Obama", Skills = new List <Skill>() }, new Candidate { FirstName = "Bill", LastName = "Clinton", Skills = new List <Skill>() } }; context.Candidates.AddRange(candidates); context.SaveChanges(); }
public ControllerTestsBase() { var options = new DbContextOptionsBuilder <GeekHunterContext>() .UseInMemoryDatabase("ShouldReturnAllCustomers") .Options; _context = new GeekHunterContext(options); _context.Database.EnsureCreated(); }
public async Task GetCandidates_ReturnsAllCandidates() { using (var context = new GeekHunterContext(CreateNewContextOptions <GeekHunterContext>())) { var controller = CandidateController(context); var result = await controller.GetCandidates(); var objectResult = Assert.IsType <OkObjectResult>(result); Assert.IsAssignableFrom <IEnumerable <CandidateDto> >(objectResult.Value); Assert.Equal(3, ((IEnumerable <CandidateDto>)objectResult.Value).Count()); } }
public async Task GetCandidates_ShouldReturnAllCandidates() { var options = new DbContextOptionsBuilder <GeekHunterContext>() .UseInMemoryDatabase("GetCandidates_ShouldReturnAllCandidates") .Options; var context = new GeekHunterContext(options); await Seed(context); CandidateRepository candidateRepository = new CandidateRepository(context); var customers = (await candidateRepository.GetCandidates()).ToList(); Assert.Equal(3, customers.Count); Assert.Equal(2, customers[0].Skills.Count); }
public async Task AddCustomer_ShouldReturnOneMoreCustomer() { using (var context = new GeekHunterContext(CreateNewContextOptions <GeekHunterContext>())) { var controller = CandidateController(context); var result = await controller.AddCandidate(new AddCandidateDto { FirstName = "TestAddedCandidateFirstName", LastName = "TestAddedCandidateLastName", Skills = new List <string> { "Entity Framework", "ReactJS" } }); Assert.IsType <OkObjectResult>(result); Assert.Equal(200, ((OkObjectResult)result).StatusCode); var customers = await controller.GetCandidates(); var objectResult = Assert.IsType <OkObjectResult>(customers); Assert.IsAssignableFrom <IEnumerable <CandidateDto> >(objectResult.Value); Assert.Equal(4, ((IEnumerable <CandidateDto>)objectResult.Value).Count()); Assert.Equal(2, ((IEnumerable <CandidateDto>)objectResult.Value).ToList()[3].Skills.Count); var result2 = await controller.AddCandidate(new AddCandidateDto { FirstName = "TestAddedCandidateFirstName2", LastName = "TestAddedCandidateLastName2", Skills = new List <string> { } }); Assert.IsType <OkObjectResult>(result2); Assert.Equal(200, ((OkObjectResult)result2).StatusCode); customers = await controller.GetCandidates(); objectResult = Assert.IsType <OkObjectResult>(customers); Assert.IsAssignableFrom <IEnumerable <CandidateDto> >(objectResult.Value); Assert.Equal(5, ((IEnumerable <CandidateDto>)objectResult.Value).Count()); Assert.Equal(0, ((IEnumerable <CandidateDto>)objectResult.Value).ToList()[4].Skills.Count); } }
public HomeController(GeekHunterContext context) => db = context;
public CandidatesController(GeekHunterContext context) { _data = new DataRepository(context); }
private async Task <bool> Seed(GeekHunterContext context) { DateTime now = DateTime.Now; var skills = new List <Skill> { new Skill { Name = "SQL" }, new Skill { Name = "Entity Framework" }, new Skill { Name = "ReactJS" } }; context.Skills.AddRange(skills); var skillsForFirstCandidate = skills.Where(s => s.Name == "SQL" || s.Name == "ReactJS").ToList(); var candidates = new List <Candidate> { new Candidate { FirstName = "Donald", LastName = "Trump" //,CandidateSkills = skillsForFirstCandidate , Skills = skillsForFirstCandidate }, new Candidate { FirstName = "Barak", LastName = "Obama", Skills = new List <Skill>() }, new Candidate { FirstName = "Bill", LastName = "Clinton", Skills = new List <Skill>() } }; List <CandidateSkill> candidateSkills = skillsForFirstCandidate.Select(s => new CandidateSkill { Candidate = candidates[0], CandidateId = candidates[0].Id, Skill = s, SkillId = s.Id }).ToList(); candidates[0].CandidateSkills = candidateSkills; context.Candidates.AddRange(candidates); await context.SaveChangesAsync(); return(true); }
public CandidateRepository(GeekHunterContext db) { _db = db; }
public SkillController(GeekHunterContext context) { _data = new DataRepository(context); }