public void AddSchoolWithStudent() { //arrange var student = new Student() { Age = 10, FirstName = "Pesho", LastName = "Trojkata", Grade = 4, }; var school = new School() { Location = "Меден Рудник", Name = "Петко Росен", Students = new HashSet<Student>() { student }, }; dbContext.Set<Student>().Add(student); dbContext.SaveChanges(); //act dbContext.Set<School>().Add(school); dbContext.SaveChanges(); //assert Assert.AreEqual(student, school.Students.ToList<Student>()[0]); }
public void StudentControllerGetSingleRecordTest() { //arrange var mockRepository = Mock.Create<IRepository<Student>>(); var studentToAdd = new Student() { Age = 10, Grade = 4, FirstName = "Nikolay", LastName = "Kostadinov", }; IList<Student> studentEntities = new List<Student>(); studentEntities.Add(studentToAdd); Mock.Arrange(() => mockRepository.All()) .Returns(() => studentEntities.AsQueryable()); var studentController = new StudentController(mockRepository); var studentModels = studentEntities.AsQueryable().Select(StudentDetailedModel.FormStudent).First(); var expected = studentModels; //act var actual = studentController.Get(0); // assert Assert.AreEqual(expected.FirstName, actual.FirstName); }
public void AddSimpleStudentTest() { bool isItemAdded = false; var repository = Mock.Create<IRepository<Student>>(); var studentModel = new StudentModel() { FirstName = "Petko" }; var studentEntity = new Student() { StudentId = 1, FirstName = studentModel.FirstName }; Mock.Arrange(() => repository.Add(Arg.IsAny<Student>())) .DoInstead(() => isItemAdded = true); //.Returns(studentEntity); var controller = new StudentsController(repository); SetupController(controller); controller.PostStudent(studentModel); Assert.IsTrue(isItemAdded); }
public void StudentControllerGetAllRecordsTest() { //arrange var mockRepository = Mock.Create<IRepository<Student>>(); var studentToAdd = new Student() { Age = 10, Grade = 4, FirstName = "Nikolay", LastName = "Kostadinov", }; IList<Student> studentEntities = new List<Student>(); studentEntities.Add(studentToAdd); Mock.Arrange(() => mockRepository.All()) .Returns(() => studentEntities.AsQueryable()); var studentController = new StudentController(mockRepository); var expected = 1; //act var actual = studentController.Get(); // assert Assert.AreEqual(expected, actual.Count()); }
static void Main() { Database.SetInitializer(new MigrateDatabaseToLatestVersion<SchoolSystemContext, Configuration>()); var db = new SchoolSystemContext(); var newStudent = new Student { Name = "Random Person", Number = "99999", }; db.Students.Add(newStudent); db.SaveChanges(); }
public void GetAllStudents_ReturnOnlyOneTest() { var repository = new FakeRepository<Student>(); var studentToAdd = new Student() { FirstName = "Test student" }; repository.entities.Add(studentToAdd); var controller = new StudentsController(repository); var studentsModels = controller.Get(); Assert.IsTrue(studentsModels.Count() == 1); Assert.AreEqual(studentToAdd.FirstName, studentsModels.First().FirstName); }
public HttpResponseMessage AddStudent(Student student) { var response = this.HandleExceptions(() => { if (!this.ModelState.IsValid) { throw new ArgumentNullException( "student", string.Format("The student model is not valid. {0}", this.ModelState)); } student = this.DataStore.Create(student); return this.Request.CreateResponse(HttpStatusCode.Created, student); }); return response; }
public void GetAllStudentsTest() { var repository = Mock.Create<IRepository<Student>>(); var studentToAdd = new Student() { FirstName = "Petko" }; IList<Student> studentEntities = new List<Student>(); studentEntities.Add(studentToAdd); Mock.Arrange(() => repository.All()).Returns(studentEntities.AsQueryable); var controller = new StudentsController(repository); var studentModels = controller.Get(); Assert.IsTrue(studentModels.Count() == 1); Assert.AreEqual(studentToAdd.FirstName, studentModels.First().FirstName); }
public void GetAllStudents_WhenASingleStudentInRepository_ShouldReturnSingleStudent() { // Arrange var repository = new FakeStudentsRepository(); var student = new Student { FirstName = "Gosho" }; repository.Students.Add(student); var controller = SetupController(repository, HttpMethod.Get); // Act var students = controller.GetAllStudents(); // Assert Assert.IsNotNull(students); Assert.IsTrue(students.Count() == 1); Assert.AreEqual(student.FirstName, students.First().FirstName); }
public void AddingSingleStudentEntryTest() { //arrange const string Subject = "Math"; const decimal Value = 2.00m; const int Age = 10; const string FirstName = "Nikolay"; const string LastName = "Kostadinov"; const int Grade = 4; var mark = new Mark() { Subject = Subject, Value = Value }; var student = new Student() { Age = Age, FirstName = FirstName, LastName = LastName, Grade = Grade, Marks = new List<Mark>() { mark }, }; //act dbContext.Set<Student>().Add(student); dbContext.SaveChanges(); //assert var studentMarks = student.Marks.ToList(); var actual = student.Age == Age && student.Grade == Grade && student.FirstName == FirstName && student.LastName == LastName && student.Marks.Count == 1 && studentMarks[0].Subject == mark.Subject && studentMarks[0].Value == mark.Value; Assert.IsTrue(actual); }
public void UpdateStudent(Student student) { if (this.FirstName != null) { student.FirstName = this.FirstName; } if (this.LastName != null) { student.LastName = this.LastName; } //if (this.Age != null) //{ student.Age = this.Age; //} //if (this.Grade != null) //{ student.Grade = this.Grade; //} }
public void GetAllStudents_WhenASingleStudentInRepository_ShouldReturnSingleStudent() { // Arrange var student = new Student { FirstName = "Gosho", LastName = "Petkov", Age = 15, Grade = 9 }; AddStudent(this.httpServer, student); // Act var response = this.httpServer.Get("api/students"); // Assert Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.IsNotNull(response.Content); var responseStudents = GetStudentCollection(response.Content).ToList(); Assert.AreEqual(1, responseStudents.Count()); Assert.AreEqual(student.FirstName, responseStudents.First().FirstName); }
public void Add_WhenStudentIsInValid_ShouldAddTheStudent() { bool isItemAdded = false; var repository = Mock.Create<IRepository<Student>>(); var studentModel = new Student() { Age = 10, Grade = 4, FirstName = "Nikolay", LastName = "Kostadinov", }; var studentEntity = new Student() { StudentId = 1, Grade = 4, FirstName = "Nikolay", LastName = "Kostadinov", }; Mock.Arrange(() => repository.Add(Arg.IsAny<Student>())) .Throws<ArgumentException>("Grade"); var controller = new StudentController(repository); controller.SetupControllerForTest(HttpMethod.Post, BaseUrl, ControllerName); var expected = HttpStatusCode.BadRequest; //act var httpResponse = controller.Post(studentModel); var actual = httpResponse.StatusCode; ///assert Assert.AreEqual(expected, actual); }
public void Update_WhenStudentIsValid_ShouldUpdateTheStudent() { bool isItemUpdated = false; var repository = Mock.Create<IRepository<Student>>(); var studentModel = new Student() { Age = 10, Grade = 4, FirstName = "Nikolay", LastName = "Kostadinov", }; Mock.Arrange(() => repository.Update(Arg.AnyInt, Arg.IsAny<Student>())) .DoInstead(() => { isItemUpdated = true; }); var controller = new StudentController(repository); controller.SetupControllerForTest(HttpMethod.Put, BaseUrl, ControllerName); //act var httpResponse = controller.Put(1, studentModel); var actual = httpResponse.StatusCode; var expected = HttpStatusCode.Accepted; Assert.IsTrue(isItemUpdated); Assert.AreEqual(expected, actual); }
public void StudentControllerGetAllWithMarksGreaterThan5RecordTest() { //arrange var mockRepository = Mock.Create<IRepository<Student>>(); var studentToAdd2 = new Student() { Age = 10, Grade = 4, FirstName = "Pencho", LastName = "Penchev", Marks = new List<Mark> { new Mark { Subject = "Math", Value = 4, } }, }; IList<Student> studentEntities = new List<Student>(); studentEntities.Add(studentModel); studentEntities.Add(studentToAdd2); Mock.Arrange(() => mockRepository.All()) .Returns(() => studentEntities.AsQueryable()); var studentController = new StudentController(mockRepository); var studentModels = studentEntities.AsQueryable().Select(StudentDetailedModel.FormStudent).First(); var expected = studentModels; //act var result = studentController.Get("Math", 5); var actual = result.First(); // assert Assert.IsTrue(result.Count() == 1); Assert.AreEqual(expected.FirstName, actual.FirstName); }
public void UpdateStudentTest() { bool isItemUpdated = false; var repository = Mock.Create<IRepository<Student>>(); var studentModel = new StudentModel() { FirstName = "Petko" }; var studentEntity = new Student() { StudentId = 1, FirstName = studentModel.FirstName }; var controller = new StudentsController(repository); SetupController(controller); controller.PostStudent(studentModel); Mock.Arrange(() => repository.Update(Arg.IsAny<int>(), Arg.IsAny<Student>())) .DoInstead(() => isItemUpdated = true) .Returns(studentEntity); var newStudent = new Student() { StudentId = 1, FirstName = "New first name" }; controller.Put(1, newStudent); Assert.IsTrue(isItemUpdated); }
public void GetAllStudentsBySubjectAndValue_WhenNotMatchAnyStudent_ShouldReturnEmptyCollection() { // Arrange string subject = "Math"; decimal value = 6.00m; var student1 = new Student { FirstName = "Gosho", LastName = "Petkov", Age = 14, Grade = 8, Marks = new HashSet<Mark> { new Mark { Subject = "Math", Value = 5.5m } } }; var student2 = new Student { FirstName = "Pesho", LastName = "Georgiev", Age = 15, Grade = 9, Marks = new HashSet<Mark> { new Mark { Subject = "Math", Value = 5.0m } } }; var student3 = new Student { FirstName = "Ivan", LastName = "Ivanov", Age = 16, Grade = 10, Marks = new HashSet<Mark> { new Mark { Subject = "Math", Value = 4.5m } } }; student1 = AddStudent(this.httpServer, student1); student2 = AddStudent(this.httpServer, student2); student3 = AddStudent(this.httpServer, student3); // Act var response = this.httpServer.Get(string.Format("api/students?subject={0}&value={1}", subject, value)); // Assert Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.IsNotNull(response.Content); var responseStudents = GetStudentCollection(response.Content).ToList(); Assert.AreEqual(0, responseStudents.Count()); Assert.IsFalse(responseStudents.Any(s => s.Marks.Any(m => m.Subject != subject && m.Value < value))); Assert.IsFalse(responseStudents.Any(s => s.FirstName == student1.FirstName)); Assert.IsFalse(responseStudents.Any(s => s.FirstName == student2.FirstName)); Assert.IsFalse(responseStudents.Any(s => s.FirstName == student3.FirstName)); }
public void AddingSingleStudentEntryWithSchoolTest() { //arrange const string Subject = "Math"; const decimal Value = 2.00m; const int Age = 10; const string FirstName = "Nikolay"; const string LastName = "Kostadinov"; const int Grade = 4; var mark = new Mark() { Subject = Subject, Value = Value }; var school = new School() { Name = "Petko Rosen", Location = "Meden Rudnik", }; var student = new Student() { Age = Age, FirstName = FirstName, LastName = LastName, Grade = Grade, Marks = new List<Mark>() { mark }, School = school, }; school.Students.Add(student); //act dbContext.Set<School>().Add(school); dbContext.Set<Student>().Add(student); dbContext.SaveChanges(); //assert var studentMarks = student.Marks.ToList(); var actual = student.Age == Age && student.Grade == Grade && student.FirstName == FirstName && student.LastName == LastName && student.Marks.Count == 1 && studentMarks[0].Subject == mark.Subject && studentMarks[0].Value == mark.Value; var expected = true; Assert.AreEqual(expected, actual); }
public void AddStudent_WhenAddOneNotValidStudent_ShouldReturBadRequestStatusCode() { // Arrange var student = new Student { FirstName = "Gosho", }; // Act var response = this.httpServer.Post("api/students", student); // Assert Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); }
public void AddingSingleStudentEntryWithSchoolThanDeleteStudentTest() { //arrange const string Subject = "Math"; const decimal Value = 2.00m; const int Age = 10; const string FirstName = "Nikolay"; const string LastName = "Kostadinov"; const int Grade = 4; var mark = new Mark() { Subject = Subject, Value = Value }; var school = new School() { Name = "Petko Rosen", Location = "Meden Rudnik", }; var student = new Student() { Age = Age, FirstName = FirstName, LastName = LastName, Grade = Grade, Marks = new List<Mark>() { mark }, School = school, }; school.Students.Add(student); dbContext.Set<School>().Add(school); dbContext.Set<Student>().Add(student); dbContext.Set<Mark>().Add(mark); dbContext.SaveChanges(); //act var actual = dbContext.Set<Student>().Where(x => x.StudentId == student.StudentId).FirstOrDefault(); Assert.AreEqual(student, actual); dbContext.Set<Student>().Remove(student); dbContext.SaveChanges(); //assert actual = dbContext.Set<Student>().Where(x => x.StudentId == student.StudentId).FirstOrDefault(); Assert.AreEqual(null, actual); }
public void Add_WhenStudentIsValid_ShouldAddTheStudent() { bool isItemAdded = false; var repository = Mock.Create<IRepository<Student>>(); var studentModel = new Student() { Age = 10, Grade = 4, FirstName = "Nikolay", LastName = "Kostadinov", }; var studentEntity = new Student() { StudentId = 1, Age = 10, Grade = 4, FirstName = "Nikolay", LastName = "Kostadinov", }; Mock.Arrange(() => repository.Add(Arg.IsAny<Student>())) .DoInstead(() => { isItemAdded = true; }) .Returns(studentEntity); var controller = new StudentController(repository); controller.SetupControllerForTest(HttpMethod.Post, BaseUrl, ControllerName); //act var httpResponse = controller.Post(studentModel); var header = httpResponse.Headers.Location.AbsoluteUri; var expected = BaseUrl + ControllerName + "/1"; Assert.IsTrue(isItemAdded); Assert.AreEqual(expected, header); }
// PUT api/Students/5 public HttpResponseMessage Put(int id, Student Student) { //var studentEntity = db.Get(id); this.db.Update(id, Student); return Request.CreateResponse(HttpStatusCode.OK); }
private static Student AddStudent(InMemoryHttpServer httpServer, Student student) { var response = httpServer.Post("api/students", student); return GetStudent(response.Content); }
public void TestGetByIdStudent() { var repository = Mock.Create<IRepository<Student>>(); var student = new Student() { StudentId = 1, FirstName = "Pesho", LastName = "Peshov", Grade = 3 }; Mock.Arrange<Student>( () => repository.Get(student.StudentId)) .IgnoreArguments() .Returns(student) .MustBeCalled(); var controller = new StudentsController(repository); SetupController(controller); var result = controller.Get(student.StudentId); Assert.AreEqual(result.StudentId, student.StudentId); Assert.AreEqual(result.FirstName, student.FirstName); Assert.AreEqual(result.LastName, student.LastName); Assert.AreEqual(result.Grade, student.Grade); }
public void GetStudentById_WhenExistStudentWithThisId_ShouldReturnSingleStudentWithThisId() { // Arrange var student = new Student { FirstName = "Gosho", LastName = "Petkov", Age = 15, Grade = 9 }; var addedStudent = AddStudent(this.httpServer, student); // Act var response = this.httpServer.Get("api/students/" + addedStudent.Id); // Assert Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.IsNotNull(response.Content); var responseStudent = GetStudent(response.Content); Assert.AreEqual(addedStudent.Id, responseStudent.Id); }
public void AddStudent_WhenAddOneValidStudent_ShouldReturAddedStudent() { // Arrange var student = new Student { FirstName = "Gosho", LastName = "Petkov", Age = 15, Grade = 9 }; // Act var response = this.httpServer.Post("api/students", student); // Assert Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); Assert.IsNotNull(response.Content); var responseStudent = GetStudent(response.Content); Assert.AreEqual(student.FirstName, responseStudent.FirstName); }
public void Update_WhenUpdateExistingStudent_ShouldBeModified() { // Arrange var student = new Student { FirstName = "Gosho", LastName = "Petkov", Age = 14, Grade = 8 }; this.dbContext.Students.Add(student); this.dbContext.SaveChanges(); // Act string lastName = "Georgiev"; student.LastName = lastName; var updatedStudentsCount = this.repository.Update(student); // Assert Assert.IsTrue(updatedStudentsCount == 1); Assert.IsTrue(this.dbContext.Students.Any(s => s.LastName == lastName)); }
public void StudentControllerGetStudentsBySchoolRecordTest() { //arrange var mockRepository = Mock.Create<IRepository<Student>>(); var studentToAdd = new Student() { Age = 10, Grade = 4, FirstName = "Nikolay", LastName = "Kostadinov", School = new School() { Location = "Lazur", Name = "Wasil aprilov", SchoolId = 1, } }; IList<Student> studentEntities = new List<Student>(); studentEntities.Add(studentToAdd); Mock.Arrange(() => mockRepository.All()) .Returns(() => studentEntities.AsQueryable()); var studentController = new StudentController(mockRepository); //act var actual = studentController.GetStudentBySchool(1); // assert Assert.AreEqual(1, actual.Count()); }