Пример #1
0
        public void GetDamageReportTest()
        {
            DamageReport dr = DamageReportFactory.NewDamageReport();

            string token = UsingDbContext(context => DamageReportsMockDatabaseHelper.AddDamageReport(dr, context));

            DamageReportCompleteOutputDto queryresult = _damageReportAppService.Get(dr.Id, token);

            Assert.Equal(queryresult.Description, dr.Description);
        }
Пример #2
0
        public void ReportDamageTest_NotValid()
        {
            DamageReportInputDto dto = DamageReportFactory.NewDamageReportInput();

            dto.Description = string.Empty;

            string token = UsingDbContext(DamageReportsMockDatabaseHelper.AddAdminToContext);

            Assert.Throws <ModelValidationException>(() => _damageReportAppService.ReportDamage(dto, token));
        }
Пример #3
0
        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));
        }
Пример #4
0
        public void GetDamageReportsRepairedByUserTest()
        {
            DamageReport dr = DamageReportFactory.NewDamageReport();

            (string token, int userId)queryParams =
                UsingDbContext(context => DamageReportsMockDatabaseHelper.AddRepairedDamageReport(dr, context));

            List <DamageReportOutputDto> queryResult =
                _damageReportAppService.GetReportsRepairedByUser(queryParams.token, queryParams.userId);

            Assert.Equal(dr.Description, queryResult.First().Description);
        }
Пример #5
0
        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));
        }
Пример #6
0
        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
            }));
        }
Пример #7
0
        public void GetDamageReportsWithPriorityTest()
        {
            DamageReport dr = DamageReportFactory.NewDamageReport();

            dr.Priority = DamagePriority.Medium;

            string token = UsingDbContext(context => DamageReportsMockDatabaseHelper.AddDamageReport(dr, context));

            List <DamageReportOutputDto> queryResult = _damageReportAppService.GetWithPriority(token, DamageReportPriorityDto.Medium);

            Assert.Equal(dr.Description, queryResult.First().Description);
            Assert.Equal(DamageReportPriorityDto.Medium, queryResult.First().Priority);
        }
Пример #8
0
        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);
        }
Пример #9
0
        public void GetDamageReportsTest()
        {
            var drs = new List <DamageReport>
            {
                DamageReportFactory.NewDamageReport(),
                DamageReportFactory.NewDamageReport()
            };

            string token = UsingDbContext(context =>
            {
                drs.ForEach(dr => context.DamageReports.Add(dr));
                return(DamageReportsMockDatabaseHelper.AddDamageReport(DamageReportFactory.NewDamageReport(), context));
            });

            var result = _damageReportAppService.GetAll(token);

            Assert.Equal(3, result.Count);
        }
Пример #10
0
        public void ModifyDamageReportTests()
        {
            DamageReport dr = DamageReportFactory.NewDamageReport();

            string token = UsingDbContext(context => DamageReportsMockDatabaseHelper.AddDamageReport(dr, context));

            _damageReportAppService.ModifyDamageReport(token, dr.Id, new ModifyDamageReportDto
            {
                Priority = DamageReportPriorityDto.High,
                Status   = DamageStatusDto.Accepted
            });

            UsingDbContext(context =>
            {
                DamageReport savedDamage = context.DamageReports.First();

                Assert.Equal(DamagePriority.High, savedDamage.Priority);
                Assert.Equal(DamageStatus.Accepted, savedDamage.Status);
            });
        }
Пример #11
0
        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);
            });
        }
Пример #12
0
        public void ReportDamageTest_NotLoggedIn()
        {
            DamageReportInputDto dto = DamageReportFactory.NewDamageReportInput();

            Assert.Throws <NotLoggedInException>(() => _damageReportAppService.ReportDamage(dto, "aaa"));
        }