Exemple #1
0
        public async Task ServiceCreatesAnAccountIfItIsNot()
        {
            //Arrange
            string serviceId = "someServiceId";
            //Act
            ActionResult <string> resultObj = await LobbyModelController.Create(serviceId, null);

            string base64String = resultObj.Value;

            byte[] data = Convert.FromBase64String(base64String);
            NetworkLibrary.NetworkLibrary.Http.LobbyModel lobbyModel = ZeroFormatterSerializer.Deserialize <NetworkLibrary.NetworkLibrary.Http.LobbyModel>(data);

            //Assert
            Assert.IsNotNull(lobbyModel);
            Assert.IsNotNull(lobbyModel.AccountDto);
            Assert.IsNotNull(lobbyModel.AccountDto.Warships);
            Assert.IsTrue(lobbyModel.AccountDto.Warships.Count > 1);
            Assert.IsNotNull(lobbyModel.WarshipRatingScaleModel);
            Assert.IsNotNull(lobbyModel.RewardsThatHaveNotBeenShown);

            foreach (var warshipDto in lobbyModel.AccountDto.Warships)
            {
                Assert.IsNotNull(warshipDto.Description);
                Assert.IsNotNull(warshipDto.WarshipName);
                Assert.IsNotNull(warshipDto.CombatRoleName);
            }
        }
Exemple #2
0
        public static void Initialize()
        {
            Console.WriteLine("Initialization");
            IDbConnectionConfig dbConnectionConfig = new DbConnectionConfig(DatabaseName);

            //Создать БД
            dbContextFactory = new DbContextFactory(dbConnectionConfig);
            DbContext        = dbContextFactory.Create(DatabaseName);
            //Ввести базовые данные
            var seeder = new DataSeeder();

            seeder.Seed(DbContext);
            //Прервать текущие сессии
            DbContext.Accounts.FromSql(new RawSqlString("ALTER DATABASE {0} SET postgres WITH ROLLBACK IMMEDIATE"), DatabaseName);
            //Очиста аккаунта
            TruncateAccountsTable();
            string connectionString = dbConnectionConfig.GetConnectionString();
            //Создать сервисы
            NpgsqlConnection               npgsqlConnection              = new NpgsqlConnection(connectionString);
            ISkinsDbReaderService          skinsDbReaderService          = new SkinsDbReaderService(DbContext);
            IDbWarshipsStatisticsReader    dbWarshipsStatisticsReader    = new DbWarshipsStatisticsReader(npgsqlConnection);
            IDbAccountWarshipReaderService dbAccountWarshipReaderService = new DbAccountWarshipReaderService(dbWarshipsStatisticsReader, skinsDbReaderService);
            AccountResourcesDbReader       accountResourcesDbReader      = new AccountResourcesDbReader(npgsqlConnection);

            AccountReaderService         = new AccountDbReaderService(dbAccountWarshipReaderService, accountResourcesDbReader);
            NotShownRewardsReaderService = new NotShownRewardsReaderService(DbContext);
            DefaultAccountFactoryService = new DefaultAccountFactoryService(DbContext);
            var accountRegistrationService            = new AccountRegistrationService(DefaultAccountFactoryService);
            var warshipsCharacteristicsService        = new WarshipsCharacteristicsService();
            AccountMapperService accountMapperService = new AccountMapperService(warshipsCharacteristicsService);

            AccountFacadeService = new AccountFacadeService(AccountReaderService, accountRegistrationService);
            var bundleVersionService = new BundleVersionService();

            LobbyModelFacadeService = new LobbyModelFacadeService(AccountFacadeService, NotShownRewardsReaderService,
                                                                  accountMapperService, bundleVersionService);

            UsernameValidatorService usernameValidatorService = new UsernameValidatorService();
            UsernameChangingService  usernameChangingService  = new UsernameChangingService(usernameValidatorService, DbContext);

            LobbyModelController            = new LobbyModelController(LobbyModelFacadeService, usernameChangingService);
            WarshipImprovementCostChecker   = new WarshipImprovementCostChecker();
            WarshipImprovementFacadeService = new WarshipImprovementFacadeService(AccountReaderService, DbContext, WarshipImprovementCostChecker);
        }