public async Task ThrowDuplicateException_WhenGroupNameExists() { var request = new UpdateGroupCommand { Id = 1, Name = "Group 2", StudentsCount = 10, SpecialityId = 1, Year = 1, EducationalDegreeId = 1 }; var handler = new UpdateGroupCommandHandler(Context); var exception = Assert.ThrowsAsync <DuplicateException>(async() => await handler.Handle(request, CancellationToken.None)); Assert.AreEqual(exception.Message, ExceptionMessagesBuilderHelper.GetDuplicateExceptionMessage(nameof(Group), "Name", request.Name)); }
public async Task ThrowNotFoundException_WhenGroupIsNotExists() { var request = new UpdateGroupCommand { Id = 100, Name = "Test Group Edited", SpecialityId = 1, StudentsCount = 10, EducationalDegreeId = 1, Year = 1 }; var handler = new UpdateGroupCommandHandler(Context); var exception = Assert.ThrowsAsync <NotFoundException>(async() => await handler.Handle(request, CancellationToken.None)); Assert.AreEqual(exception.Message, ExceptionMessagesBuilderHelper.GetNotFoundExceptionMessage(nameof(Group), request.Id)); }
public async Task Update_NoChanges_Success() { await ExecuteWithDb((db) => { var handler = new UpdateGroupCommandHandler( MockMediator.Object, db, Mapper, MockAuthorizationService.Object); var existingGroup = SeedHelper.GetRandomGroup(db); var dto = Mapper.Map <GroupDto>(existingGroup); return(handler.Handle(new UpdateGroupCommand() { Group = dto }, default(CancellationToken))); }); }
public async Task Update_IdNotFound_EntityNotFoundException() { await ExecuteWithDb((db) => { var handler = new UpdateGroupCommandHandler( MockMediator.Object, db, Mapper, MockAuthorizationService.Object); var dto = SeedHelper.CreateValidNewGroupDto(db, Mapper); dto.Id = int.MaxValue; return(handler.Handle(new UpdateGroupCommand() { Group = dto }, default(CancellationToken))); }); }
public async void UpdateValidGroupTest() { var command = new ModifyGroupCommand() { Id = 1, Name = "The pedrera", Memberships = new List <int>() }; command.Memberships.Add(10); var handler = new UpdateGroupCommandHandler(Context); await handler.Handle(command, CancellationToken.None); Group group = Groups.Single(g => g.Id == 1); Assert.Equal(command.Name, group.Name); Assert.Equal(command.Memberships.Count, group.Memberships.Count); Assert.True(group.Memberships.Select(m => m.GroupId == 1 && m.UserId == 10) != null); }
public async Task Update_InvalidId_BadRequestException(int id) { await ExecuteWithDb(async (db) => { var handler = new UpdateGroupCommandHandler( MockMediator.Object, db, Mapper, MockAuthorizationService.Object); var randomGroup = SeedHelper.GetRandomGroup(db); var dto = Mapper.Map <GroupDto>(randomGroup); dto.Id = id; return(await handler.Handle(new UpdateGroupCommand() { Group = dto }, default(CancellationToken))); }); }
public async Task UpdateGroup() { var request = new UpdateGroupCommand { Id = 1, Name = "Test Group 1 edited", StudentsCount = 10, SpecialityId = 1, EducationalDegreeId = 1, Year = 1 }; var handler = new UpdateGroupCommandHandler(Context); await handler.Handle(request, CancellationToken.None); Assert.IsTrue(Context.Groups.Where(x => x.Id == request.Id && x.Name == request.Name && x.EducationalDegreeId == request.EducationalDegreeId && x.SpecialityId == request.SpecialityId && x.Year == request.Year).Count() == 1); }
public async Task Update_NameAlreadyUsed_BadRequestException() { await ExecuteWithDb((db) => { var handler = new UpdateGroupCommandHandler( MockMediator.Object, db, Mapper, MockAuthorizationService.Object); var existingGroup = SeedHelper.GetRandomGroup(db); var differentGroup = db.Groups .Where(x => x.Id != existingGroup.Id) .OrderBy(x => Guid.NewGuid()) .First(); var dto = Mapper.Map <GroupDto>(existingGroup); dto.Name = differentGroup.Name; return(handler.Handle(new UpdateGroupCommand() { Group = dto }, default(CancellationToken))); }); }