Exemplo n.º 1
0
        public async Task AddAndSaveTest()
        {
            var courseMember1 = new CourseMember()
            {
                CourseId = 1, MemberId = 1, Day = "Monday"
            };
            var courseMember2 = new CourseMember()
            {
                CourseId = 2, MemberId = 2, Day = "Tuesday"
            };
            var courseMembers = new List <CourseMember> {
                courseMember1, courseMember2
            };

            var courseMember3 = new CourseMember()
            {
                CourseId = 3, MemberId = 3, Day = "Wednesday"
            };

            var fakeCourseMemberRepositoryMock = new Mock <ICourseMemberRepository>();
            var fakeCourseRepositoryMock = new Mock <ICourseRepository>(); var fakeMemberRepositoryMock = new Mock <IMemberRepository>();

            fakeCourseMemberRepositoryMock.Setup(x => x.Add(It.IsAny <CourseMember>())).Callback <CourseMember>(arg => courseMembers.Add(arg));

            var courseMemberService = new CourseMemberService(fakeCourseMemberRepositoryMock.Object, fakeCourseRepositoryMock.Object, fakeMemberRepositoryMock.Object);

            await courseMemberService.AddAndSave(courseMember3);


            Assert.Equal(3, courseMembers.Count);
        }
        public async Task <IActionResult> Create([Bind("CourseId,MemberId,Day")] CourseMember courseMember)
        {
            if (ModelState.IsValid)
            {
                await _courseMemberService.AddAndSave(courseMember);

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CourseId"] = new SelectList(await _courseMemberService.GetAllCourses(), "Id", "Name", courseMember.CourseId);
            ViewData["MemberId"] = new SelectList(await _courseMemberService.GetAllMembers(), "Id", "Email", courseMember.MemberId);
            return(View(courseMember));
        }