public void Team_is_in_db_after_add()
        {
            var image = new Images
            {
                Id = -1,
                ImageName = "TestImage",
                ImagePath = "Image",
                ImageUrl = "Image"
            };
            facade.GetImageRepository().Add(image);

            var team = new Teams
            {
                Id = -1,
                Name = "ShaunHold",
                Info = "Det bedste hold",
                Instructors = "Shaun",
                TeamLeader = "Shaun",
                AssistInstructor = "Shaun",
                AgeGroup = "9 år",
                Weekday = "Torsdag",
                Place = "Oksbøl Hal",
                Price = 200,
                StartTime = 1900,
                EndTime = 2000,
                PaymentUrl = "HejURL",
                Images = image
            };
            facade.GetTeamRepository().Add(team);
            Assert.IsTrue(team.Id > 0);

            var team2 = facade.GetTeamRepository().Read(team.Id);

            Assert.AreEqual(team, team2);
        }
        /// <summary>
        ///     This method is for updating an existing team: the put request has to be Json
        /// </summary>
        /// <param name="id">the id to be updated</param>
        /// <param name="team">the team object</param>
        /// <returns>The team to be updated</returns>
        public Teams PutTeam(int id, Teams team)
        {
            if (team == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }
            team.Id = id;

            new Facade().GetTeamRepository().Update(team);
            return team;
        }
        public void Can_update_team_to_context()
        {
            var ctx = Context();
            var team = new Teams { Info = "this is gymnastics", Name = "Hulahopringene", Price = 2000000 };
            ctx.Teams.Add(team);
            ctx.SaveChanges();

            var newName = "Deterdanser";
            team.Name = newName;
            ctx.SaveChanges();
            Assert.AreEqual(team.Name, newName);
        }
        public void Can_create_and_read_team_to_context()
        {
            var ctx = Context();
            var team = new Teams {Info = "this is gymnastics", Name = "Hulahopringene", Price = 2000000};

            ctx.Teams.Add(team);
            ctx.SaveChanges();

            var teamDb = ctx.Teams.FirstOrDefault(x => x.Id == team.Id);

            Assert.AreEqual(team.Id, teamDb.Id);
        }
        public void Team_props_are_set_on_create_test()
        {
            var image = new Images
            {
                Id = 5,
                ImageName = "TestImage",
                ImagePath = "Image",
                ImageUrl = "Image"
            };

            var team = new Teams
            {
                Id = 1,
                Name = "ShaunHold",
                Info = "Det bedste hold",
                TeamLeader = "Shaun",
                AssistInstructor = "Shaun",
                AgeGroup = "9 år",
                Instructors = "Shaun",
                Weekday = "Torsdag",
                Place = "Oksbøl Hal",
                Price = 200,
                StartTime = 1900,
                EndTime = 2000,
                PaymentUrl = "HejURL",
                Images = image
            };

            Assert.AreEqual(team.Id, 1);
            Assert.AreEqual(team.Name, "ShaunHold");
            Assert.AreEqual(team.Info, "Det bedste hold");
            Assert.AreEqual(team.Instructors, "Shaun");
            Assert.AreEqual(team.Weekday, "Torsdag");
            Assert.AreEqual(team.Place, "Oksbøl Hal");
            Assert.AreEqual(team.Price, 200);
            Assert.AreEqual(team.StartTime, 1900);
            Assert.AreEqual(team.EndTime, 2000);
            Assert.AreEqual(team.PaymentUrl, "HejURL");
            Assert.AreEqual(team.Images.Id, 5);
            Assert.AreEqual(team.Images.ImageName, "TestImage");
            Assert.AreEqual(team.Images.ImageUrl, "Image");
            Assert.AreEqual(team.Images.ImagePath, "Image");
        }
 /// <summary>
 ///     This method is for creating a new team in the database: the post request has to be Json
 /// In Web API, parameters with complex types are deserialized from the request body.
 /// Therefore, we expect the client to send a serialized representation of a product 
 /// object, in either XML or JSON format
 /// </summary>
 /// <param name="team">The team object to be created</param>
 /// <returns>The team object to be created</returns>
 public Teams PostTeam(Teams team)
 {
     return new Facade().GetTeamRepository().Add(team);
 }
        public void Team_is_updated_after_update()
        {
            var image = new Images
            {
                Id = -1,
                ImageName = "TestImage",
                ImagePath = "Image",
                ImageUrl = "Image"
            };
            facade.GetImageRepository().Add(image);

            var team = new Teams { Id = 6, Name = "Testhold", Info = "De springer.", Price = 100, Images = image };

            facade.GetTeamRepository().Add(team);
            Assert.IsNotNull(team);

            var newname = "shaun";
            team.Name = newname;

            facade.GetTeamRepository().Update(team);
            Assert.AreEqual(newname, team.Name);
        }