예제 #1
0
def associate_line(userid):
    data = document.parse(request)
    model = formatter.dict_to_model(data, userid)
    created_model = user_line_services.associate(model)

    result = formatter.to_api(created_model)
    location = url_for('.associate_line', userid=userid)
    return make_response(result, 201, {'Location': location})
예제 #2
0
    def test_associate(self, validate_association, associate_user_line,
                       notifier_associated):
        user_line = UserLine(user_id=1, line_id=2)

        result = user_line_services.associate(user_line)

        assert_that(result, equal_to(user_line))
        validate_association.assert_called_once_with(user_line)
        associate_user_line.assert_called_once_with(user_line)
        notifier_associated.assert_called_once_with(user_line)
예제 #3
0
    def test_associate(self,
                       validate_association,
                       associate_user_line,
                       notifier_associated):
        user_line = UserLine(user_id=1,
                             line_id=2)

        result = user_line_services.associate(user_line)

        assert_that(result, equal_to(user_line))
        validate_association.assert_called_once_with(user_line)
        associate_user_line.assert_called_once_with(user_line)
        notifier_associated.assert_called_once_with(user_line)
예제 #4
0
    def test_associate_main_user(self, validate_association,
                                 associate_user_line, notifier_associated,
                                 dao_find_main_user_line):
        user_line = UserLine(user_id=1, line_id=2)
        expected_user_line = UserLine(user_id=1, line_id=2, main_user=True)

        dao_find_main_user_line.return_value = user_line

        result = user_line_services.associate(user_line)

        assert_that(result, equal_to(expected_user_line))
        validate_association.assert_called_once_with(user_line)
        associate_user_line.assert_called_once_with(expected_user_line)
        notifier_associated.assert_called_once_with(expected_user_line)
예제 #5
0
    def test_associate_with_main_user_already_associated_to_this_line(
            self, validate_association, associate_user_line,
            notifier_associated, dao_find_main_user_line):
        main_user_line = UserLine(user_id=1, line_id=2)
        secondary_user_line = UserLine(user_id=2, line_id=2)

        expected_user_line = UserLine(user_id=2, line_id=2, main_user=False)

        dao_find_main_user_line.return_value = main_user_line

        result = user_line_services.associate(secondary_user_line)

        assert_that(result, equal_to(expected_user_line))
        validate_association.assert_called_once_with(secondary_user_line)
        associate_user_line.assert_called_once_with(expected_user_line)
        notifier_associated.assert_called_once_with(expected_user_line)
예제 #6
0
    def test_associate_main_user(self,
                                 validate_association,
                                 associate_user_line,
                                 notifier_associated,
                                 dao_find_main_user_line):
        user_line = UserLine(user_id=1,
                             line_id=2)
        expected_user_line = UserLine(user_id=1,
                                      line_id=2,
                                      main_user=True)

        dao_find_main_user_line.return_value = user_line

        result = user_line_services.associate(user_line)

        assert_that(result, equal_to(expected_user_line))
        validate_association.assert_called_once_with(user_line)
        associate_user_line.assert_called_once_with(expected_user_line)
        notifier_associated.assert_called_once_with(expected_user_line)
예제 #7
0
    def test_associate_with_main_user_already_associated_to_this_line(self,
                                                                      validate_association,
                                                                      associate_user_line,
                                                                      notifier_associated,
                                                                      dao_find_main_user_line):
        main_user_line = UserLine(user_id=1,
                                  line_id=2)
        secondary_user_line = UserLine(user_id=2,
                                       line_id=2)

        expected_user_line = UserLine(user_id=2,
                                      line_id=2,
                                      main_user=False)

        dao_find_main_user_line.return_value = main_user_line

        result = user_line_services.associate(secondary_user_line)

        assert_that(result, equal_to(expected_user_line))
        validate_association.assert_called_once_with(secondary_user_line)
        associate_user_line.assert_called_once_with(expected_user_line)
        notifier_associated.assert_called_once_with(expected_user_line)