public void ReportDamageTest_NotValid() { DamageReportInputDto dto = DamageReportFactory.NewDamageReportInput(); dto.Description = string.Empty; string token = UsingDbContext(DamageReportsMockDatabaseHelper.AddAdminToContext); Assert.Throws <ModelValidationException>(() => _damageReportAppService.ReportDamage(dto, token)); }
public void DeleteDamageReport_InsufficientPrivileges() { DamageReportInputDto dto = DamageReportFactory.NewDamageReportInput(); string token = UsingDbContext(context => DamageReportsMockDatabaseHelper.AddSessionToContext(UserFactory.NewUser(), context).Token); DamageReportOutputDto result = _damageReportAppService.ReportDamage(dto, token); Assert.Throws <ForbiddenAccessException>(() => _damageReportAppService.DeleteDamage(token, result.Id)); }
public void DeleteDamageReport() { DamageReportInputDto dto = DamageReportFactory.NewDamageReportInput(); string token = UsingDbContext(DamageReportsMockDatabaseHelper.AddAdminToContext); DamageReportOutputDto result = _damageReportAppService.ReportDamage(dto, token); _damageReportAppService.DeleteDamage(token, result.Id); UsingDbContext(context => Assert.Empty(context.DamageReports)); }
public void RepairDamageTest_InsufficientPrivileges() { DamageReportInputDto dto = DamageReportFactory.NewDamageReportInput(); string token = UsingDbContext(DamageReportsMockDatabaseHelper.AddAdminToContext); int id = _damageReportAppService.ReportDamage(dto, token).Id; Assert.Throws <ForbiddenAccessException>(() => _damageReportAppService.RepairDamage(token, new DamageReportRepairDto { Id = id })); }
public void ReportDamageTest() { DamageReportInputDto dto = DamageReportFactory.NewDamageReportInput(); string token = UsingDbContext(DamageReportsMockDatabaseHelper.AddAdminToContext); DamageReportOutputDto result = _damageReportAppService.ReportDamage(dto, token); UsingDbContext(context => { Assert.Equal(dto.Description, context.DamageReports.First().Description); }); Assert.Equal(result.Description, dto.Description); }
public void RepairDamageTest() { DamageReportInputDto dto = DamageReportFactory.NewDamageReportInput(); string token = UsingDbContext(DamageReportsMockDatabaseHelper.AddAdminToContext); int id = _damageReportAppService.ReportDamage(dto, token).Id; string crewToken = UsingDbContext(DamageReportsMockDatabaseHelper.AddCrewToContext); _damageReportAppService.RepairDamage(crewToken, new DamageReportRepairDto { Id = id }); UsingDbContext(context => { DamageReport damage = context.DamageReports.Find(id); Assert.Equal(DamageStatus.Repaired, damage.Status); }); }
public DamageReportOutputDto ReportDamage(DamageReportInputDto damageDto, string token) { _credentialsVerifier.VerifyCredentialsForDamageReporting(token); DamageReport damage = _objectMapper.Map <DamageReport>(damageDto); if (!damage.IsValid()) { throw new ModelValidationException(_objectMapper.Map <List <ValidationErrorDto> >(damage.GetValidationErrors())); } BindMediaResources(damage); damage.User = UserUtillities.GetExecutingUserIfLoggedIn(token, _sessionsRepository); _damageReportsRepository.Insert(damage); CurrentUnitOfWork.SaveChanges(); return(_objectMapper.Map <DamageReportOutputDto>(damage)); }
public void ReportDamageTest_NotLoggedIn() { DamageReportInputDto dto = DamageReportFactory.NewDamageReportInput(); Assert.Throws <NotLoggedInException>(() => _damageReportAppService.ReportDamage(dto, "aaa")); }
public DamageReportOutputDto ReportDamage(DamageReportInputDto damage) { string token = Utillities.GetAuthTokenOrNullIfException(Request); return(_damageAppService.ReportDamage(damage, token)); }