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); } }
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); }