コード例 #1
0
        public async Task <IActionResult> Insert(JournalRecordModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var dto = _mapper.Map <JournalRecordDto>(model);
            await _journalService.SaveRecord(dto);

            return(Ok());
        }
コード例 #2
0
ファイル: JournalTests.cs プロジェクト: kav128/WebKoorsach
        public async Task PostTest()
        {
            // Arrange
            await using (ApplicationContext context = _contextFactory.CreateDbContext())
            {
                await context.Lecturers.AddAsync(new Lecturer { FullName = "Test Lecturer" });

                await context.SaveChangesAsync();

                await context.Courses.AddRangeAsync(
                    new Course { Name = "Test Course 1", LecturerId = 1 },
                    new Course { Name = "Test Course 2", LecturerId = 1 });

                await context.SaveChangesAsync();

                await context.Lectures.AddRangeAsync(
                    new Lecture { Name = "Test Lecture 1 1", CourseId = 1 },
                    new Lecture { Name = "Test Lecture 2 1", CourseId = 1 },
                    new Lecture { Name = "Test Lecture 3 1", CourseId = 1 },
                    new Lecture { Name = "Test Lecture 1 2", CourseId = 2 },
                    new Lecture { Name = "Test Lecture 2 2", CourseId = 2 },
                    new Lecture { Name = "Test Lecture 3 2", CourseId = 2 });

                await context.SaveChangesAsync();

                await context.Students.AddRangeAsync(
                    new Student { FullName = "Test Student 1" },
                    new Student { FullName = "Test Student 2" });

                await context.SaveChangesAsync();
            }

            // Act
            var model    = new JournalRecordModel(true, 5, 1, 1);
            var response = await _client.PostAsJsonAsync("/Journal", model);

            // Assert
            response.EnsureSuccessStatusCode();
            await using (ApplicationContext context = _contextFactory.CreateDbContext())
            {
                JournalRecord record = await context.JournalRecords.FirstAsync();

                Assert.That(record, Is.EqualTo(new JournalRecord {
                    Id = 1, Attendance = true, Score = 5, StudentId = 1, LectureId = 1
                }));
            }
        }
コード例 #3
0
ファイル: JournalTests.cs プロジェクト: kav128/WebKoorsach
        public async Task PostTest_WrongData(bool attendance, int score, int studentId, int lectureId)
        {
            // Arrange
            await using (ApplicationContext context = _contextFactory.CreateDbContext())
            {
                await context.Lecturers.AddAsync(new Lecturer { FullName = "Test Lecturer" });

                await context.SaveChangesAsync();

                await context.Courses.AddRangeAsync(
                    new Course { Name = "Test Course 1", LecturerId = 1 },
                    new Course { Name = "Test Course 2", LecturerId = 1 });

                await context.SaveChangesAsync();

                await context.Lectures.AddRangeAsync(
                    new Lecture { Name = "Test Lecture 1 1", CourseId = 1 },
                    new Lecture { Name = "Test Lecture 2 1", CourseId = 1 },
                    new Lecture { Name = "Test Lecture 3 1", CourseId = 1 },
                    new Lecture { Name = "Test Lecture 1 2", CourseId = 2 },
                    new Lecture { Name = "Test Lecture 2 2", CourseId = 2 },
                    new Lecture { Name = "Test Lecture 3 2", CourseId = 2 });

                await context.SaveChangesAsync();

                await context.Students.AddRangeAsync(
                    new Student { FullName = "Test Student 1" },
                    new Student { FullName = "Test Student 2" });

                await context.SaveChangesAsync();
            }

            // Act
            var model    = new JournalRecordModel(attendance, score, studentId, lectureId);
            var response = await _client.PostAsJsonAsync("/Journal", model);

            // Assert
            Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest));
        }