Esempio n. 1
0
        public void AddsUserToAirtableTable()
        {
            var expectedResponse = new AirtableResponseBuilder()
                                   .AddRecord(
                "rec4rdaOkafgV1Bqm",
                new DateTime(2019, 8, 22, 8, 25, 28)
                ).WithName("Team Performance: Team Agile-Lean maturity 'measures' in practice (at DfE and Hackney)")
                                   .WithHost("Barry")
                                   .WithCategories("Delivery")
                                   .WithTime(2019, 10, 18, 13, 0, 0)
                                   .WithDurationInSeconds(3600)
                                   .WithLocation("Everest, 2nd Foor")
                                   .WithSessionType("Seminar")
                                   .WithAttendees(new List <string>())
                                   .Build();

            airtableSimulator.SetUpFind(TABLE_ID, AIRTABLE_API_KEY, expectedResponse.Records[0], "ID000");
            airtableSimulator.SetUpSave(TABLE_ID, AIRTABLE_API_KEY);

            AirtableGateway                 gateway = new AirtableGateway(AIRTABLE_URL, AIRTABLE_API_KEY, TABLE_ID);
            ToggleWorkshopAttendance        attend  = new ToggleWorkshopAttendance(gateway, gateway);
            ToggleWorkshopAttendanceRequest payload = new ToggleWorkshopAttendanceRequest();

            payload.User       = "******";
            payload.WorkshopId = "ID000";
            attend.Execute(payload);

            var requests = airtableSimulator.simulator.ReceivedRequests;

            Console.WriteLine(requests);
            var sentEmployee = requests[1].BodyAs <AirtableRequest>();

            Assert.AreEqual("Maria", sentEmployee.Records[0].Fields.Attendees[0]);
        }
Esempio n. 2
0
        public void RemovesUserFromAirtableTable()
        {
            var expectedResponse = new AirtableResponseBuilder()
                                   .AddRecord(
                "rec4rdaOkafgV1Bqm",
                new DateTime(2019, 8, 22, 8, 25, 28)
                ).WithName("Team Performance: Team Agile-Lean maturity 'measures' in practice (at DfE and Hackney)")
                                   .WithHost("Barry")
                                   .WithCategories("Delivery")
                                   .WithTime(2019, 10, 18, 13, 0, 0)
                                   .WithDurationInSeconds(3600)
                                   .WithLocation("Everest, 2nd Foor")
                                   .WithSessionType("Seminar")
                                   .WithAttendees(new List <string>()
            {
                "Maria", "Kat"
            })
                                   .Build();

            airtable.SetUpFind(TABLE_ID, AIRTABLE_API_KEY, expectedResponse.Records[0], "ID000");
            airtable.SetUpSave(TABLE_ID, AIRTABLE_API_KEY);

            ToggleWorkshopAttendance        attend  = new ToggleWorkshopAttendance(_gateway, _gateway);
            ToggleWorkshopAttendanceRequest payload = new ToggleWorkshopAttendanceRequest();

            payload.User       = "******";
            payload.WorkshopId = "ID000";
            attend.Execute(payload);

            var    requests = airtable.simulator.ReceivedRequests;
            var    sentUser = requests[1].BodyAs <AirtableRequest>();
            Fields fields   = sentUser.Records[0].Fields;

            fields.Attendees.Should().NotContain("Maria");
        }
        public void SaveNewAttendeeToWorkshopWithNoExistingAttendees()
        {
            FindSpyStub findSpyStub = new FindSpyStub();

            findSpyStub.existingWorkshop = new Workshop()
            {
                attendees = new List <string>()
            };
            ToggleWorkshopAttendance        toggleAttendance = new ToggleWorkshopAttendance(_spy, findSpyStub);
            ToggleWorkshopAttendanceRequest payload          = new ToggleWorkshopAttendanceRequest();

            payload.User       = "******";
            payload.WorkshopId = "idNum3029";

            var response = toggleAttendance.Execute(payload);

            _spy.lastSavedWorkshop.attendees[0].Should().Be("Bogdan");
            findSpyStub.lastWorkShopId.Should().Be("idNum3029");
            response.Should().Be("Confirmed");
        }
        public void SaveNewAttendeeToWorkshopWithNoExistingAttendees()
        {
            FindSpyStub findSpyStub = new FindSpyStub();

            findSpyStub.existingWorkshop = new Workshop()
            {
                attendees = new List <string>()
            };
            SpyGateway spy = new SpyGateway();
            ToggleWorkshopAttendance        toggleAttendance = new ToggleWorkshopAttendance(spy, findSpyStub);
            ToggleWorkshopAttendanceRequest payload          = new ToggleWorkshopAttendanceRequest();

            payload.User       = "******";
            payload.WorkshopId = "Seaweed on holiday";
            var response = toggleAttendance.Execute(payload);

            Assert.AreEqual("Seaweed", spy.lastSavedWorkshop.attendees[0]);
            Assert.AreEqual("Confirmed", response);
            Assert.AreEqual("Seaweed on holiday", findSpyStub.lastWorkShopId);
        }
        public void RemovesAttendeeIfAlreadyInWorkshopAttendees()
        {
            FindSpyStub findSpyStub = new FindSpyStub();

            findSpyStub.existingWorkshop = new Workshop()
            {
                attendees = new List <string>()
                {
                    "Cait", "Maria"
                }
            };
            ToggleWorkshopAttendance        toggleAttendance = new ToggleWorkshopAttendance(_spy, findSpyStub);
            ToggleWorkshopAttendanceRequest payload          = new ToggleWorkshopAttendanceRequest();

            payload.User       = "******";
            payload.WorkshopId = "16";
            toggleAttendance.Execute(payload);

            _spy.lastSavedWorkshop.attendees.Should().NotContain("Maria");
            findSpyStub.lastWorkShopId.Should().Be("16");
        }
        public void RemovesAttendeeIfAlreadyInWorkshopAttendees()
        {
            FindSpyStub findSpyStub = new FindSpyStub();

            findSpyStub.existingWorkshop = new Workshop()
            {
                attendees = new List <string>()
                {
                    "Cait", "Maria"
                }
            };
            SpyGateway spy = new SpyGateway();
            ToggleWorkshopAttendance        toggleAttendance = new ToggleWorkshopAttendance(spy, findSpyStub);
            ToggleWorkshopAttendanceRequest payload          = new ToggleWorkshopAttendanceRequest();

            payload.User       = "******";
            payload.WorkshopId = "16";
            toggleAttendance.Execute(payload);
            Assert.IsFalse(spy.lastSavedWorkshop.attendees.Contains("Maria"));
            Assert.AreEqual("16", findSpyStub.lastWorkShopId);
        }
        public void SaveNewAttendeeToWorkshopWithExistingAttendees()
        {
            FindSpyStub findSpyStub = new FindSpyStub();

            findSpyStub.existingWorkshop = new Workshop()
            {
                attendees = new List <string>()
                {
                    "Cait"
                }
            };
            SpyGateway spy = new SpyGateway();
            ToggleWorkshopAttendance        toggleAttendance = new ToggleWorkshopAttendance(spy, findSpyStub);
            ToggleWorkshopAttendanceRequest payload          = new ToggleWorkshopAttendanceRequest();

            payload.User       = "******";
            payload.WorkshopId = "16";
            toggleAttendance.Execute(payload);
            Assert.AreEqual("Seaweed", spy.lastSavedWorkshop.attendees[1]);
            Assert.AreEqual("Cait", spy.lastSavedWorkshop.attendees[0]);
            Assert.AreEqual("16", findSpyStub.lastWorkShopId);
        }
        public void SaveNewAttendeeToWorkshopWithExistingAttendees()
        {
            FindSpyStub findSpyStub = new FindSpyStub();

            findSpyStub.existingWorkshop = new Workshop()
            {
                attendees = new List <string>()
                {
                    "Cait"
                }
            };
            ToggleWorkshopAttendance        toggleAttendance = new ToggleWorkshopAttendance(_spy, findSpyStub);
            ToggleWorkshopAttendanceRequest payload          = new ToggleWorkshopAttendanceRequest();

            payload.User       = "******";
            payload.WorkshopId = "id16";
            toggleAttendance.Execute(payload);

            var workshopAttendees = _spy.lastSavedWorkshop.attendees;

            workshopAttendees[0].Should().Be("Cait");
            workshopAttendees[1].Should().Be("Bogdan");
            findSpyStub.lastWorkShopId.Should().Be("id16");
        }