public async Task Should_edit(SliceFixture fixture) { var adminId = await fixture.SendAsync(new ContosoUniversityCore.Features.Instructor.CreateEdit.Command { FirstMidName = "George", LastName = "Costanza", HireDate = DateTime.Today, }); var admin = await fixture.FindAsync <Instructor>(adminId); var dept = new Department { Name = "History", Administrator = admin, Budget = 123m, StartDate = DateTime.Today }; var newDept = new Department { Name = "English", Administrator = admin, Budget = 123m, StartDate = DateTime.Today }; var course = new Course { Credits = 4, Department = dept, Id = 1234, Title = "English 101" }; await fixture.InsertAsync(dept, newDept, course); var command = new Edit.Command { Id = course.Id, Credits = 5, Department = newDept, Title = "English 202" }; await fixture.SendAsync(command); var edited = await fixture.FindAsync <Course>(course.Id); edited.ShouldNotBeNull(); edited.DepartmentID.ShouldBe(newDept.Id); edited.Credits.ShouldBe(command.Credits.GetValueOrDefault()); edited.Title.ShouldBe(command.Title); }
public async Task Should_create_new_department(SliceFixture fixture) { var adminId = await fixture.SendAsync(new ContosoUniversityCore.Features.Instructor.CreateEdit.Command { FirstMidName = "George", LastName = "Costanza", HireDate = DateTime.Today, }); var admin = await fixture.FindAsync <Instructor>(adminId); var command = new Create.Command { Budget = 10m, Name = "Engineering", StartDate = DateTime.Now.Date, Administrator = admin }; await fixture.SendAsync(command); var created = await fixture.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); }
public async Task Should_get_edit_department_details(SliceFixture fixture) { var adminId = await fixture.SendAsync(new ContosoUniversityCore.Features.Instructor.CreateEdit.Command { FirstMidName = "George", LastName = "Costanza", HireDate = DateTime.Today, }); var admin = await fixture.FindAsync <Instructor>(adminId); var dept = new Department { Name = "History", Administrator = admin, Budget = 123m, StartDate = DateTime.Today }; await fixture.InsertAsync(dept); var query = new Edit.Query { Id = dept.Id }; var result = await fixture.SendAsync(query); result.ShouldNotBeNull(); result.Name.ShouldBe(dept.Name); result.Administrator.Id.ShouldBe(admin.Id); }
public async Task Should_delete_department(SliceFixture fixture) { var adminId = await fixture.SendAsync(new ContosoUniversityCore.Features.Instructor.CreateEdit.Command { FirstMidName = "George", LastName = "Costanza", HireDate = DateTime.Today, }); var admin = await fixture.FindAsync <Instructor>(adminId); var dept = new Department { Name = "History", Administrator = admin, Budget = 123m, StartDate = DateTime.Today }; await fixture.InsertAsync(dept); var command = new Delete.Command { Id = dept.Id, RowVersion = dept.RowVersion }; await fixture.SendAsync(command); var any = await fixture.ExecuteDbContextAsync(db => db.Departments.AnyAsync()); any.ShouldBeFalse(); }
public async Task Should_list_departments(SliceFixture fixture) { var adminId = await fixture.SendAsync(new ContosoUniversityCore.Features.Instructor.CreateEdit.Command { FirstMidName = "George", LastName = "Costanza", HireDate = DateTime.Today, }); var admin = await fixture.FindAsync <Instructor>(adminId); var dept = new Department { Name = "History", Administrator = admin, Budget = 123m, StartDate = DateTime.Today }; var dept2 = new Department { Name = "English", Administrator = admin, Budget = 456m, StartDate = DateTime.Today }; await fixture.InsertAsync(dept, dept2); var query = new Index.Query(); var result = await fixture.SendAsync(query); result.ShouldNotBeNull(); result.Count.ShouldBe(2); }
public async Task Should_edit_department(SliceFixture fixture) { var adminId = await fixture.SendAsync(new ContosoUniversityCore.Features.Instructor.CreateEdit.Command { FirstMidName = "George", LastName = "Costanza", HireDate = DateTime.Today, }); var admin = await fixture.FindAsync <Instructor>(adminId); var admin2Id = await fixture.SendAsync(new ContosoUniversityCore.Features.Instructor.CreateEdit.Command { FirstMidName = "George", LastName = "Costanza", HireDate = DateTime.Today, }); var admin2 = await fixture.FindAsync <Instructor>(admin2Id); var dept = new Department { Name = "History", Administrator = admin, Budget = 123m, StartDate = DateTime.Today }; await fixture.InsertAsync(dept); var command = new Edit.Command { Id = dept.Id, Name = "English", Administrator = admin2, StartDate = DateTime.Today.AddDays(-1), Budget = 456m }; await fixture.SendAsync(command); var result = await fixture.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 ShouldAddNewToDoList() { var command = new AddTodoListCommand("Test"); var result = await _fixture.SendAsync(command); result.Id.Should().NotBeEmpty(); var list = await _fixture.FindAsync <TodoItem, Guid>(result.Id); list.Title.Should().Be(command.Title); }
public async Task Should_filter_courses(SliceFixture fixture) { var adminId = await fixture.SendAsync(new ContosoUniversityCore.Features.Instructor.CreateEdit.Command { FirstMidName = "George", LastName = "Costanza", HireDate = DateTime.Today, }); var admin = await fixture.FindAsync <Instructor>(adminId); var englishDept = new Department { Name = "English", Administrator = admin, Budget = 123m, StartDate = DateTime.Today }; var historyDept = new Department { Name = "History", Administrator = admin, Budget = 123m, StartDate = DateTime.Today }; var english = new Course { Credits = 4, Department = englishDept, Id = 1235, Title = "English 101" }; var history = new Course { Credits = 4, Department = historyDept, Id = 4312, Title = "History 101" }; await fixture.InsertAsync(englishDept, historyDept, english, history); var result = await fixture.SendAsync(new Index.Query { SelectedDepartment = englishDept }); result.ShouldNotBeNull(); result.Courses.Count.ShouldBe(1); result.Courses[0].Id.ShouldBe(english.Id); }
public async Task Should_query_for_details(SliceFixture fixture) { var adminId = await fixture.SendAsync(new ContosoUniversityCore.Features.Instructor.CreateEdit.Command { FirstMidName = "George", LastName = "Costanza", HireDate = DateTime.Today, }); var admin = await fixture.FindAsync <Instructor>(adminId); var dept = new Department { Name = "History", Administrator = admin, Budget = 123m, StartDate = DateTime.Today }; var course = new Course { Credits = 4, Department = dept, Id = 1234, Title = "English 101" }; await fixture.InsertAsync(dept, course); var result = await fixture.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(SliceFixture fixture) { var adminId = await fixture.SendAsync(new ContosoUniversityCore.Features.Instructor.CreateEdit.Command { FirstMidName = "George", LastName = "Costanza", HireDate = DateTime.Today, }); var admin = await fixture.FindAsync <Instructor>(adminId); var dept = new Department { Name = "History", Administrator = admin, Budget = 123m, StartDate = DateTime.Today }; var course = new Course { Credits = 4, Department = dept, Id = 1234, Title = "English 101" }; await fixture.InsertAsync(dept, course); await fixture.SendAsync(new Delete.Command { Id = course.Id }); var result = await fixture.ExecuteDbContextAsync(db => db.Courses.Where(c => c.Id == course.Id).SingleOrDefaultAsync()); result.ShouldBeNull(); }
public async Task Should_create_new_course(SliceFixture fixture) { var adminId = await fixture.SendAsync(new ContosoUniversityCore.Features.Instructor.CreateEdit.Command { FirstMidName = "George", LastName = "Costanza", HireDate = DateTime.Today, }); var admin = await fixture.FindAsync <Instructor>(adminId); var dept = new Department { Name = "History", Administrator = admin, Budget = 123m, StartDate = DateTime.Today }; await fixture.InsertAsync(dept); var command = new Create.Command { Credits = 4, Department = dept, Number = 1234, Title = "English 101" }; await fixture.SendAsync(command); var created = await fixture.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); }