public void Add_to_basket_and_provides_anonymous_account()
        {
            var entity = _sirenHttpJourney
                         .FollowLink(l => l.Rel.Contains("items"))
                         .FollowEntityLink(e => e.Properties.Contains(new KeyValuePair <string, dynamic>("id", "A")))
                         .FollowAction(a => a.Name.Equals("basket-add"))
                         .Travel();

            Assert.That(entity.Class.Contains("basket"));
            Assert.That(entity.Class.Contains("collection"));

            Assert.That(entity.Actions, Is.Empty);

            Assert.That(entity
                        .Links.Single(link => link.Rel.Contains("self"))
                        .Href,
                        Is.EqualTo(new Uri(BaseAddress, "basket")));

            Assert.That(entity
                        .Entities.Count(e => e.Class.Contains("item")), Is.EqualTo(1));

            string authorizationHeaderValue = entity
                                              .Entities.Single(e => e.Class.Contains("http"))
                                              .Properties.Single(p => p.Key == "authorization").Value;

            Assert.That(authorizationHeaderValue.Split(' ').First(), Is.EqualTo("Basic"));
            Assert.That(Guid.Parse(authorizationHeaderValue.Split(' ').Last()), Is.Not.EqualTo(default(Guid)));
        }
        public new void OneTimeSetUp()
        {
            var sirenJourney = new SirenHttpJourney(new SirenHttpClient(new HttpClient
            {
                BaseAddress = BaseAddress
            }));

            _entity = sirenJourney
                      .FollowLink(link => link.Rel.Contains("items"))
                      .Travel();
        }