public async void allow_to_register_new_user()
        {
            var expected =
                new LoyalityProgramUser()
            {
                Name = "Chr"
            };
            var registrationResponse = await
                                       sut.Post("/users", with => with.JsonBody(expected));

            var newUser =
                registrationResponse.Body.DeserializeJson <LoyalityProgramUser>();
            var actual = await sut.Get($"/users/{newUser.Id}");

            Assert.Equal(HttpStatusCode.OK.ToString(), actual.StatusCode.ToString());
            Assert.Equal(
                expected.Name,
                actual.Body.DeserializeJson <LoyalityProgramUser>().Name);
            // more assertions on the response from the GET
        }
        public async void allow_modifying_users()
        {
            var expected = "jane";
            var user     = new LoyalityProgramUser()
            {
                Name = "Chr"
            };
            var registrationResponse = await
                                       sut.Post("/users", with => with.JsonBody(user));

            var newUser =
                registrationResponse.Body.DeserializeJson <LoyalityProgramUser>();

            newUser.Name = expected;
            var actual = await
                         sut.Put($"/users/{newUser.Id}", with => with.JsonBody(newUser));

            Assert.Equal(
                expected,
                actual.Body.DeserializeJson <LoyalityProgramUser>().Name);
        }
Esempio n. 3
0
        public LoyalityProgramUser Save(LoyalityProgramUser loyaltyUProgramUser)
        {
            if (!database.ContainsKey(loyaltyUProgramUser.Id))
            {
                var userId  = new Random(1).Next(1, 1000000);
                var newUser = new LoyalityProgramUser(userId);
                newUser.Name          = loyaltyUProgramUser.Name;
                newUser.LoyaltyPoints = loyaltyUProgramUser.LoyaltyPoints;
                newUser.Settings      = loyaltyUProgramUser.Settings;
                newUser.Id            = userId;

                database[newUser.Id] = newUser;
                return(newUser);
            }
            else
            {
                var user = database[loyaltyUProgramUser.Id];
                user.LoyaltyPoints = loyaltyUProgramUser.LoyaltyPoints;
                user.Name          = loyaltyUProgramUser.Name;
                user.Settings      = loyaltyUProgramUser.Settings;
                database[loyaltyUProgramUser.Id] = user;
                return(user);
            }
        }