コード例 #1
0
        public async Task SinglePilot()
        {
            // MicioGatto key
            long   code  = 3645238;
            string vcode = "sLOD3pSHwuzKtml3inm59qvVWHiKA3rULJY7KRsuWmmHrZ0c8qAZlftLDQIHvxBq";

            var accrepo = AccountRepo;
            var skey    = await accrepo.RegisterUser("*****@*****.**", "123");

            var userid = await accrepo.CheckSession(skey);

            var keyRepo = new KeyInfoRepo(Logger, AccountContextProvider);
            await keyRepo.AddKey(userid, code, vcode);

            var pilotRepo           = new PilotRepo(AccountContextProvider, Logger, EveApi);
            var corpoRepo           = new CorporationRepo(AccountContextProvider, Logger, EveApi);
            var notificationRepo    = new NotificationRepo(AccountContextProvider, Logger);
            var skillRepo           = new SkillRepo(AccountContextProvider, Logger, notificationRepo);
            var skillInQueueRepo    = new SkillInQueueRepo(AccountContextProvider, Logger);
            var evePilotDataService = new EvePilotDataService(keyRepo, EveApi, Logger, TypeNameDict);

            var backgroundUpdate = new BackgroundUpdate(evePilotDataService, pilotRepo, corpoRepo, skillRepo, skillInQueueRepo);

            await backgroundUpdate.Update(userid);

            var pilots = await pilotRepo.GetAll(userid);

            Assert.AreEqual(1, pilots.Count);

            var p = pilots.First();

            Assert.AreEqual("MicioGatto", p.Name);
            Assert.IsTrue(p.Skills.Count > 0);
            Assert.IsTrue(p.SkillsInQueue.Count > 0);

            Assert.IsTrue(p.Skills.Any(x => x.SkillName == "Interceptors"));
        }
コード例 #2
0
        public async Task MultipleLevels3()
        {
            var accrepo = AccountRepo;
            var skey    = await accrepo.RegisterUser("*****@*****.**", "123");

            var userid = await accrepo.CheckSession(skey);

            var skillInQueueRepo = new SkillInQueueRepo(AccountContextProvider, Logger);
            var pilotRepo        = new PilotRepo(AccountContextProvider, Logger, null);

            // stage 1 - skills firstly seen - no notification expected
            var userData = new UserDataDto()
            {
                Pilots = new Pilot[]
                {
                    new Pilot()
                    {
                        EveId         = 1,
                        KeyInfoId     = 1,
                        Name          = "Pilot1",
                        Skills        = new List <Skill>(),
                        SkillsInQueue =
                            new SkillInQueue[]
                        {
                            new SkillInQueue()
                            {
                                SkillName = "skilla", Level = 1
                            },
                            new SkillInQueue()
                            {
                                SkillName = "skilla", Level = 2
                            },
                            new SkillInQueue()
                            {
                                SkillName = "skilla", Level = 3
                            }
                        }.ToList(),
                    }
                }.ToList(),
                Corporations = new List <Corporation>(),
                Jobs         = new List <Job>(),
            };

            await pilotRepo.Update(userid, userData);

            await skillInQueueRepo.Update(userid, userData);

            var skills = await skillInQueueRepo.GetForPilot(userData.Pilots[0].PilotId);

            Assert.AreEqual(3, skills.Count);

            var userData2 = new UserDataDto()
            {
                Pilots = new Pilot[]
                {
                    new Pilot()
                    {
                        EveId         = 1,
                        KeyInfoId     = 1,
                        Name          = "Pilot1",
                        Skills        = new List <Skill>(),
                        SkillsInQueue =
                            new SkillInQueue[]
                        {
                            new SkillInQueue()
                            {
                                SkillName = "skilla", Level = 1
                            },
                            new SkillInQueue()
                            {
                                SkillName = "skilla", Level = 2
                            },
                            new SkillInQueue()
                            {
                                SkillName = "skilla", Level = 3
                            },
                            new SkillInQueue()
                            {
                                SkillName = "skilla", Level = 4
                            }
                        }.ToList(),
                    }
                }.ToList(),
                Corporations = new List <Corporation>(),
                Jobs         = new List <Job>(),
            };

            await pilotRepo.Update(userid, userData2);

            await skillInQueueRepo.Update(userid, userData2);

            skills = await skillInQueueRepo.GetForPilot(userData.Pilots[0].PilotId);

            Assert.AreEqual(4, skills.Count);
        }
コード例 #3
0
        public async Task SkillInQueueOperations()
        {
            var accrepo = AccountRepo;
            var skey    = await accrepo.RegisterUser("*****@*****.**", "123");

            var userid = await accrepo.CheckSession(skey);

            var skillInQueueRepo = new SkillInQueueRepo(AccountContextProvider, Logger);
            var pilotRepo        = new PilotRepo(AccountContextProvider, Logger, null);

            // stage 1 - skills firstly seen - no notification expected
            var userData = new UserDataDto()
            {
                Pilots = new Pilot[]
                {
                    new Pilot()
                    {
                        EveId         = 1,
                        KeyInfoId     = 1,
                        Name          = "Pilot1",
                        Skills        = new List <Skill>(),
                        SkillsInQueue =
                            new SkillInQueue[]
                        {
                            new SkillInQueue()
                            {
                                SkillName = "skilla", Level = 1, Order = 1
                            },
                            new SkillInQueue()
                            {
                                SkillName = "skillb", Level = 2, Order = 2
                            },
                            new SkillInQueue()
                            {
                                SkillName = "skillc", Level = 3, Order = 3
                            }
                        }.ToList(),
                    }
                }.ToList(),
                Corporations = new List <Corporation>(),
                Jobs         = new List <Job>(),
            };

            await pilotRepo.Update(userid, userData);

            await skillInQueueRepo.Update(userid, userData);

            var skills = await skillInQueueRepo.GetForPilot(userData.Pilots[0].PilotId);

            Assert.AreEqual(3, skills.Count);
            foreach (var s in skills)
            {
                Assert.IsTrue(s.Order > 0);
            }

            var userData2 = new UserDataDto()
            {
                Pilots = new Pilot[]
                {
                    new Pilot()
                    {
                        EveId         = 1,
                        KeyInfoId     = 1,
                        Name          = "Pilot1",
                        Skills        = new List <Skill>(),
                        SkillsInQueue =
                            new SkillInQueue[]
                        {
                            new SkillInQueue()
                            {
                                SkillName = "skilld", Level = 1
                            },
                        }.ToList(),
                    }
                }.ToList(),
                Corporations = new List <Corporation>(),
                Jobs         = new List <Job>(),
            };

            await pilotRepo.Update(userid, userData2);

            await skillInQueueRepo.Update(userid, userData2);

            skills = await skillInQueueRepo.GetForPilot(userData.Pilots[0].PilotId);

            Assert.AreEqual(1, skills.Count);
            Assert.AreEqual("skilld", skills[0].SkillName);
        }