public static Merchant AddMerchant(PermissionContext db)
 {
     var merch1 = new Merchant { Name = "Merch 1" };
     db.Merchants.Add(merch1);
     db.SaveChanges();
     return db.Merchants.First();
 }
 public static Developer AddDeveloper(PermissionContext db)
 {
     var dev = new Developer { Name = "Dev 1" };
     db.Developers.Add(dev);
     db.SaveChanges();
     return db.Developers.First();
 }
 public static App AddApp(PermissionContext db)
 {
     var app = new App { ClientKey = "abc", ClientSecret = "def", Description = "Legacy 2 leg app" };
     db.Apps.Add(app);
     db.SaveChanges();
     return db.Apps.First();
 }
 public void Save(App app)
 {
     using (var db = new PermissionContext())
     {
         db.Apps.Add(app);
         db.SaveChanges();
     }
 }
        public void LegacyAppHasOneMerchant()
        {
            Utils.ClearDb();
            int merchId = 0;
            int appId = 0;
            using (var db = new PermissionContext())
            {
                merchId = TestFactory.AddMerchant(db).Id;
                var app1 = TestFactory.AddApp(db);
                appId = app1.Id;
                app1.MerchantId = merchId;
                db.SaveChanges();
            }

            using (var db = new PermissionContext())
            {
                var app = db.Apps.First();
                Assert.AreEqual(appId, app.Id, "AppId");
                Assert.AreEqual(merchId, app.MerchantId, "MerchId");
                Assert.IsNotNull(app.Merchant, "Merchant is null");
            }
        }