public async Task Should_edit_department(ContosoUniversityCore.Features.Instructor.CreateEdit.Command instructor, ContosoUniversityCore.Features.Instructor.CreateEdit.Command instructor2, Department dept, Edit.Command command)
        {
            var adminId = await SendAsync(instructor);

            var admin = await FindAsync <Instructor>(adminId);

            var admin2Id = await SendAsync(instructor2);

            var admin2 = await FindAsync <Instructor>(admin2Id);

            dept.Administrator = admin;

            await InsertAsync(dept);

            command.Id            = dept.Id;
            command.Administrator = admin;

            await SendAsync(command);

            var result = await ExecuteDbContextAsync(db => db.Departments.Where(d => d.Id == dept.Id).Include(d => d.Administrator).SingleOrDefaultAsync());

            result.Name.ShouldBe(command.Name);
            result.Administrator.Id.ShouldBe(command.Administrator.Id);
            result.StartDate.ShouldBe(command.StartDate.GetValueOrDefault());
            result.Budget.ShouldBe(command.Budget.GetValueOrDefault());
        }
        public async Task Should_edit(ContosoUniversityCore.Features.Instructor.CreateEdit.Command instructor, Department dept, Department newDept, Course course, Edit.Command command)
        {
            var adminId = await SendAsync(instructor);

            var admin = await FindAsync <Instructor>(adminId);

            dept.Administrator    = admin;
            newDept.Administrator = admin;

            course.Id         = 1234;
            course.Department = dept;

            await InsertAsync(dept, newDept, course);

            command.Id         = course.Id;
            command.Department = newDept;

            await SendAsync(command);

            var edited = await FindAsync <Course>(course.Id);

            edited.ShouldNotBeNull();
            edited.DepartmentID.ShouldBe(newDept.Id);
            edited.Credits.ShouldBe(command.Credits.GetValueOrDefault());
            edited.Title.ShouldBe(command.Title);
        }
Example #3
0
        public async Task Should_create_new_department(ContosoUniversityCore.Features.Instructor.CreateEdit.Command instructor, Create.Command command)
        {
            var adminId = await SendAsync(instructor);

            var admin = await FindAsync <Instructor>(adminId);

            command.Administrator = admin;

            await SendAsync(command);

            var created = await ExecuteDbContextAsync(db => db.Departments.Where(d => d.Name == command.Name).SingleOrDefaultAsync());

            created.ShouldNotBeNull();
            created.Budget.ShouldBe(command.Budget.GetValueOrDefault());
            created.StartDate.ShouldBe(command.StartDate.GetValueOrDefault());
            created.InstructorID.ShouldBe(admin.Id);
        }
Example #4
0
        public async Task Should_list_departments(ContosoUniversityCore.Features.Instructor.CreateEdit.Command instructor, Department dept, Department dept2)
        {
            var adminId = await SendAsync(instructor);

            var admin = await FindAsync <Instructor>(adminId);

            dept.Administrator = admin;
            dept.Administrator = admin;

            await InsertAsync(dept, dept2);

            var query = new Index.Query();

            var result = await SendAsync(query);

            result.ShouldNotBeNull();
            result.Count.ShouldBe(2);
        }
Example #5
0
        public async Task Should_get_department_details(ContosoUniversityCore.Features.Instructor.CreateEdit.Command instructor, Department dept)
        {
            var adminId = await SendAsync(instructor);

            var admin = await FindAsync <Instructor>(adminId);

            dept.Administrator = admin;

            await InsertAsync(dept);

            var query = new Details.Query
            {
                Id = dept.Id
            };

            var result = await SendAsync(query);

            result.ShouldNotBeNull();
            result.Name.ShouldBe(dept.Name);
            result.AdministratorFullName.ShouldBe(admin.FullName);
        }
        public async Task Should_return_all_courses(ContosoUniversityCore.Features.Instructor.CreateEdit.Command instructor, Department dept, Department dept2, Course course, Course course2)
        {
            var adminId = await SendAsync(instructor);

            var admin = await FindAsync <Instructor>(adminId);

            dept.Administrator  = admin;
            dept2.Administrator = admin;

            course.Id          = 1235;
            course.Department  = dept;
            course2.Id         = 4312;
            course2.Department = dept2;

            await InsertAsync(dept, dept2, course, course2);

            var result = await SendAsync(new Index.Query());

            result.ShouldNotBeNull();
            result.Courses.Count.ShouldBe(2);
        }
        public async Task Should_delete(ContosoUniversityCore.Features.Instructor.CreateEdit.Command instructor, Department dept, Course course)
        {
            var adminId = await SendAsync(instructor);

            var admin = await FindAsync <Instructor>(adminId);

            dept.Administrator = admin;

            course.Id         = 1234;
            course.Department = dept;

            await InsertAsync(dept, course);

            await SendAsync(new Delete.Command {
                Id = course.Id
            });

            var result = await ExecuteDbContextAsync(db => db.Courses.Where(c => c.Id == course.Id).SingleOrDefaultAsync());

            result.ShouldBeNull();
        }
        public async Task Should_create_new_course(ContosoUniversityCore.Features.Instructor.CreateEdit.Command instructor, Department dept, Create.Command command)
        {
            var adminId = await SendAsync(instructor);

            var admin = await FindAsync <Instructor>(adminId);

            dept.Administrator = admin;

            await InsertAsync(dept);

            command.Department = dept;

            await SendAsync(command);

            var created = await ExecuteDbContextAsync(db => db.Courses.Where(c => c.Id == command.Number).SingleOrDefaultAsync());

            created.ShouldNotBeNull();
            created.DepartmentID.ShouldBe(dept.Id);
            created.Credits.ShouldBe(command.Credits);
            created.Title.ShouldBe(command.Title);
        }
Example #9
0
        public async Task Should_query_for_details(ContosoUniversityCore.Features.Instructor.CreateEdit.Command instructor, Department dept, Course course)
        {
            var adminId = await SendAsync(instructor);

            var admin = await FindAsync <Instructor>(adminId);

            dept.Administrator = admin;

            course.Id         = 1234;
            course.Department = dept;

            await InsertAsync(dept, course);

            var result = await SendAsync(new Details.Query {
                Id = course.Id
            });

            result.ShouldNotBeNull();
            result.Credits.ShouldBe(course.Credits);
            result.DepartmentName.ShouldBe(dept.Name);
            result.Title.ShouldBe(course.Title);
        }
        public async Task Should_delete_department(ContosoUniversityCore.Features.Instructor.CreateEdit.Command instructor, Department dept)
        {
            var adminId = await SendAsync(instructor);

            var admin = await FindAsync <Instructor>(adminId);

            dept.Administrator = admin;

            await InsertAsync(dept);

            var command = new Delete.Command
            {
                Id         = dept.Id,
                RowVersion = dept.RowVersion
            };

            await SendAsync(command);

            var any = await ExecuteDbContextAsync(db => db.Departments.AnyAsync());

            any.ShouldBeFalse();
        }